-
我们在
红色view
上添加了手势,但是又不想点击黄色view
也触发.其实这里用到UITapGestureRecognizer
的一个代理方法
0.png -
-
上代码,先创建两个
view
,并且给bigView
添加手势
1
2
3
4
5
6
7
8
9
10
|
self.bigView = [[UIView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)]; self.bigView.backgroundColor = [UIColor redColor]; UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(bigMap:)]; recognizer.delegate = self; [self.bigView addGestureRecognizer:recognizer]; [self.view addSubview:self.bigView]; self.smallView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 50, 50)]; self.smallView.backgroundColor = [UIColor yellowColor]; [self.bigView addSubview:self.smallView]; |
-
实现
UITapGestureRecognizer
的一个代理方法,我不用多说,大家一看就明白怎么回事了.这是就解决了防止点击黄色view
也触发的问题了
1
2
3
4
5
6
7
|
- ( BOOL )gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{ if ([touch.view isDescendantOfView:self.smallView]) { return NO; } return YES; } |