3
UITapGestureRecognizer *singleFingerTap =
            [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
    [self.view addGestureRecognizer:singleFingerTap];
}

- (void)handleSingleTap:(id)handleSingleTap {
    [self.view endEditing:YES];
}

我有一个包含表格视图的视图,我想在点击视图时结束对文本字段的编辑。但是,我不希望这会阻止选择包含的元素。具体来说,我有一个表格视图,除非我滑动它们,否则无法选择其单元格。手势识别器会吞下一个水龙头并且不会通过。

如果我删除手势识别器,表格工作正常。

如何处理视图上的点击事件而不阻止子视图接收事件?

4

1 回答 1

4

将您的类设置为您的委托UITapGestureRecognizer并实现该方法 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch,然后检查UITouch位置,如果在tableView则返回 NO,如果不是则返回 YES。

对于UITouch位置使用locationInView:方法

于 2013-06-03T20:40:36.120 回答