问题描述
- 在UIView界面中的部分区域添加tableView,tableViewCell能正常点击,但是对该view添加点击手势,界面只识别点击手势,而不能正常操作tableViewCell
解决方法:
- 首先给手势设置代理
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(respondsToTapGesture:)];
tap.delegate = self;
[self.view addGestureRecognizer:tap];
- 遵守代理协议
UIGestureRecognizerDelegate - 实现代理方法
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
// 点击的view的类名
NSLog(@"%@", NSStringFromClass([touch.view class]));
// 点击了tableViewCell,view的类名为UITableViewCellContentView,则不接收Touch点击事件
if ([NSStringFromClass([touch.view class]) isEqualToString:@"UITableViewCellContentView"]) {
return NO;
}
return YES;
}