我试图通过以下方式忽略 UITapGestureRecognizer 在 UITableView 上的点击:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ([touch.view isKindOfClass:[UITableViewCellContentView class]]) {
return NO; // ignore the touch
}
return YES; // handle the touch
}
它不会编译:“使用未声明的标识符‘UITableViewCellContentView’
无证类?需要子类化吗?更好的方法来完成这个?
感谢您的帮助。
最佳答案
这似乎可以做到:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if([touch.view isKindOfClass:[UITableViewCell class]]) {
return NO;
}
// UITableViewCellContentView => UITableViewCell
if([touch.view.superview isKindOfClass:[UITableViewCell class]]) {
return NO;
}
// UITableViewCellContentView => UITableViewCellScrollView => UITableViewCell
if([touch.view.superview.superview isKindOfClass:[UITableViewCell class]]) {
return NO;
}
return YES; // handle the touch
}
关于objective-c - UITableViewCellContentView 上的 shouldReceiveTouch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13275195/