今天做项目的时候遇到一个需求,就是子view视图弹出时,屏蔽掉父view的所有手势,然后想到用
UIGestureRecognizerDelegate代理方法,中间省一些文字(无奈脸),言归正传,NSStringFromClass其实是用来判断类型的,看代码
- MyModel *model=[MyModel alloc] init];
- Bool dd=NSStringFromClass([[model class]isEqualToString:@"NSDictionary"]);
- //判断model是否为NSDictionary类型
好尴尬的我。。。。屏蔽掉父view的所有手势直接创建一个大小高度和父view一样的view,将view添加到window中,在将子view添加到view,此时可以在子view进行所有手势,点击到父view时是没有反应的。上代码
- UIWindow *window = [UIApplication sharedApplication].keyWindow;
- _vi_max=[[UIView alloc]initWithFrame:CGRectMake(self.view.frame.origin.x, self.view.frame.origin.y, K_SCREEN_WIDTH, K_SCREEN_HEIGHT)];
- _vi_max.backgroundColor=[UIColor colorWithRed:153.0/255 green:153.0/255 blue:153.0/255 alpha:0.5];
- [window addSubview:_vi_max];
- _vi=[[UIView alloc]initWithFrame:CGRectMake((K_SCREEN_WIDTH-120)/2, (K_SCREEN_HEIGHT-80)/2, 120, 80)];
- _vi.backgroundColor=[UIColor whiteColor];
- [_vi_max addSubview:_vi];
- UIButton *quxiao=[[UIButton alloc]initWithFrame:CGRectMake(0,0, 50, 50)];
- [quxiao setTitle:@"取消" forState:UIControlStateNormal];
- quxiao.backgroundColor=[UIColor orangeColor];
- [quxiao addTarget:self
- action:@selector(BtnClick_About_us:)
- forControlEvents:UIControlEventTouchUpInside];
- [_vi addSubview:quxiao];
一般用于自定义弹框。 图示: