美文网首页
UITapGestureRecognizer的手势冲突

UITapGestureRecognizer的手势冲突

作者: __Seven | 来源:发表于2018-06-15 14:59 被阅读74次

    例如:一个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;
       }
    

    相关文章

      网友评论

          本文标题:UITapGestureRecognizer的手势冲突

          本文链接:https://www.haomeiwen.com/subject/djkmeftx.html