今天做项目的时候遇到一个需求,就是子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];
一般用于自定义弹框。 图示: