场景:一个view增加点击事件UITapGestureRecognizer
, view上添加tableview,此时tableview 的didSelectRowAtIndexPath
方法不执行。
我们想响应 UITapGestureRecognizer
,同时也想响应 tableview 的 cell 点击代理事件
解决办法:
可以添加 UITapGestureRecognizer
点击手势代理:
<UIGestureRecognizerDelegate>
然后在点击事件代理方法中实现
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
}
return YES;
}