UITapGestureRecognizer的手势冲突

例如:一个UIScrollView中有若干个UITextfield,为了能在空白处点击能隐藏键盘,加了UITapGestureRecognizer事件,结果导致同样在UIScrollView里的UITableView接收不到didSelectRowAtIndexPath调用消息。

这个问题是因为,手势触发事件影响了touch事件,所以tableview不可以点击。
有百度到说设置cancelsTouchesInView为NO,好像没有啥效果。
下面重写UIGestureRecognizerDelegate中的接受事件的代理

 #pragmamark-UIGestureRecognizerDelegate
 -(BOOL)gestureRecognizer:
     (UIGestureRecognizer*)gestureRecognizershouldReceiveTouch:(UITouch*)touch{
    //若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件
   if([NSStringFromClass([touch.viewclass])isEqualToString:@"UITableViewCellContentView"]){
    returnNO;
   }
    returnYES;
   }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容