UITapGestureRecognizer *singleFingerTap =
[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleFingerTap];
}
- (void)handleSingleTap:(id)handleSingleTap {
[self.view endEditing:YES];
}
我有一个包含tableview的视图,我希望在点击视图时结束对文本字段的编辑。但是,我不希望这会阻止选择包含的元素。具体来说,我有一个tableview,除非我刷它们,否则无法选择单元格。单击会被手势识别器吞下并且不会通过。
如果我删除手势识别器,表格工作正常。
如何处理视图上的点击事件,而不是阻止子视图接收事件?
答案 0 :(得分:4)
将您的班级设置为UITapGestureRecognizer
的代表并实施该方法
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
,然后检查UITouch
位置,如果在tableView
上,则返回NO,否则返回YES。
对于UITouch
位置使用locationInView:方法