View添加手势,防止View上点击其他视图触发点击效果

  • 我们在红色view上添加了手势,但是又不想点击黄色view也触发.其实这里用到UITapGestureRecognizer的一个代理方法

    0.png
  • 1656986-1ee6889558bd7256.jpg

  • 上代码,先创建两个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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值