通常是在UIGestureRecognizer的代理函数中进行操作
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
两种思路:
- 根据touch的view的类型进行判断
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
if([touch.view isKindOfClass:[UITableView class]]){
return NO;
}
return YES;
}
- 根据touch点击point是否在目标view的frame中
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch{
CGPoint p = [touch locationInView:_referenceView];
if(CGRectContainsPoint (_touchView.frame, p)){
return NO;
}
return YES; }
两种思路,一般来说第二种适用性更广,尤其面对比较复杂的视图构成的情况。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。