美文网首页
签订了delegate, 点击 tableViewCell 不走

签订了delegate, 点击 tableViewCell 不走

作者: 学而不思则罔思而不学则殆 | 来源:发表于2016-08-15 08:40 被阅读232次

前言

今天写聊天界面,在设置了 delegate 的情况下, cell 的点击方法不走. 回过头去,看代码,发现自己之前添加的手势对其有影响.故随手记下.


  • 可能存在原因

  • 1.未设置tablevIew的代理
  • 2.所在的视图上有手势存在
  • 3.所加载的Cell上有手势存在
  • 解决方式(问题2)

下面是手势的代理方法, 在方法里面做个判断,是手势还是点击 cell.

#pragma mark - 手势代理, 判断是添加的手势�还是 tableView
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    // 输出点击的view的类名
    NSLog(@"%@", NSStringFromClass([touch.view class]));
    // 若为UITableViewCellContentView(就是击了tableViewCell),则不截获Touch事件(就是继续执行Cell的点击方法)
    if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
        return NO;
    }
    return YES 
}

无关

不积跬步,无以至千里;不积小流,无以成江海。


相关文章

网友评论

      本文标题:签订了delegate, 点击 tableViewCell 不走

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