iOS手势冲突

场景:一个view增加点击事件UITapGestureRecognizer, view上添加tableview,此时tableview 的didSelectRowAtIndexPath方法不执行。
我们想响应 UITapGestureRecognizer,同时也想响应 tableview 的 cell 点击代理事件

解决办法:
可以添加 UITapGestureRecognizer 点击手势代理:

然后在点击事件代理方法中实现

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

你可能感兴趣的:(iOS手势冲突)