如何在单元格下方的表格视图中检测点击/触摸?

Posted

技术标签:

【中文标题】如何在单元格下方的表格视图中检测点击/触摸?【英文标题】:How to detect a tap/touch in a table view below the cells? 【发布时间】:2013-09-26 10:28:39 【问题描述】:

我想检测用户何时点击tableViewCells 下方UITableView 中的剩余空间。

我的主要目的是当用户点击空的 TableView 区域时,我想放弃对searchBar 的回复。

它没有响应UITouch 事件。我也尝试添加UITapGestureRecognizer,但它已经覆盖了整个tableview。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

除了添加 UITapGestureRecognizer 之外,您还需要实现一个委托方法并将委托分配给手势识别器。首先在您的视图控制器中的某个地方:

UITapGestrueRecognizer *tapRecognizer = ...;
tapRecognizer.delegate = self;

这是要实现的委托方法:

-(BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer
    CGPoint location = [gestureRecognizer locationInView:self.tableView];
    NSIndexPath *indexPath = self.tableView indexPathForRowAtPoint:location];
    return (indexPath == nil);

委托方法检查单元格中是否发生了点击,如果没有,它不会开始识别点击,以便让表格视图有机会解释手势。

【讨论】:

以上是关于如何在单元格下方的表格视图中检测点击/触摸?的主要内容,如果未能解决你的问题,请参考以下文章

直接在导航栏下方滚动表格视图单元格?

在 ios 的滚动视图内检测按钮的触摸

如何更新存档和表格视图单元格

如何在表格视图和单元格之间添加图像

UITextView应检测链接,否则应传播触摸以查看下面的链接

如何检测拖动到那里的子视图中的触摸(或获取哪个子视图位于其父视图中的点击下方的最快方法)