美文网首页
TableView didSelectRowAtIndexPat

TableView didSelectRowAtIndexPat

作者: 韩叨叨 | 来源:发表于2018-08-16 11:31 被阅读37次

    是因为被被其他控件覆盖了。

    比如说:我在cell上有一个按钮,点击之后会弹出popView,popView是一个tableview,这个tableView的didSelectAtIndexPath会执行,但是下面那个主的TableView的代理方法就不会执行了。

    解决方法:
    1、父类事件设置代理

    UIGestureRecognizer *tapGesture  
    tapGesture.delegate = self;
    

    2、覆盖方法

    - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
    {
      if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
        return NO;
       }
      return  YES;
    }
    

    相关文章

      网友评论

          本文标题:TableView didSelectRowAtIndexPat

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