有时候我们会给tableView 添加tap手势来完成某种动作,但是发现添加手势之后,点击cell就会没有反应,两种点击手势发生了冲突
解决 :
给手势添加代理delegate,然后UIGestureRecognizerDelegate的以下一个代理方法即可
pragma mark - UIGestureRecognizerDelegate
-
(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
// 输出点击的view的类名
NSLog(@"%@", NSStringFromClass([touch.view class]));// 若为UITableViewCellContentView(即点击了tableViewCell),则不截获Touch事件
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
}
return YES;
}