今天做项目的时候遇到一个需求,就是子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/ green:153.0/ blue:153.0/ alpha:0.5];
[window addSubview:_vi_max];
_vi=[[UIView alloc]initWithFrame:CGRectMake((K_SCREEN_WIDTH-)/, (K_SCREEN_HEIGHT-)/, , )];
_vi.backgroundColor=[UIColor whiteColor];
[_vi_max addSubview:_vi]; UIButton *quxiao=[[UIButton alloc]initWithFrame:CGRectMake(,, , )];
[quxiao setTitle:@"取消" forState:UIControlStateNormal];
quxiao.backgroundColor=[UIColor orangeColor];
[quxiao addTarget:self
action:@selector(BtnClick_About_us:)
forControlEvents:UIControlEventTouchUpInside];
[_vi addSubview:quxiao];