点击手势包含视图块tableView选择

时间:2013-06-03 20:23:56

标签: ios objective-c uitableview uiview

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

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

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

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

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

1 个答案:

答案 0 :(得分:4)

将您的班级设置为UITapGestureRecognizer的代表并实施该方法 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch,然后检查UITouch位置,如果在tableView上,则返回NO,否则返回YES。

对于UITouch位置使用locationInView:方法