【发布时间】:2018-02-14 17:54:03
【问题描述】:
我已经实现了 UITableView,其中每个单元格都包含一些按钮 为了检测用户是否点击表格,我添加了 UITapGestureRecognizer。
我希望单元格中的按钮在用户点击它们时不执行任何操作。 我已经实现了这个选择器:
- (void) backgroundTouched:(UITapGestureRecognizer*)sender {
UIView *view = sender.view;
NSLog(@"backgroundTouched %@", view);
}
我看到,当我点击表格上的任何位置时,都会调用此选择器,除非我点击 UITableViewCell 中包含的任何按钮。
我怎样才能避免这种情况?
这是创建 UITapGestureRecognizer 的代码:
pragma mark UISearchControllerDelegate
- (void)didPresentSearchController:(UISearchController *)searchController
{
NSLog(@"didPresentSearchController");
self.cancelGesture = [UITapGestureRecognizer new];
[self.cancelGesture addTarget:self action:@selector(backgroundTouched:)];
self.cancelGesture.cancelsTouchesInView = YES;
[self.tableView addGestureRecognizer:self.cancelGesture];
}
【问题讨论】:
-
PL.清除您的疑虑,您想禁用点击表格或按钮吗?
-
禁用按钮。现在,当我点击按钮时,按钮操作会被调用,而手势选择器不会。我想要相反的方式
标签: ios objective-c uitableview uitapgesturerecognizer