UIScrollView中的UITableView在滚动后没有响应第一次点击

Posted

技术标签:

【中文标题】UIScrollView中的UITableView在滚动后没有响应第一次点击【英文标题】:UITableView in UIScrollView not responding to first tap after scroll 【发布时间】:2014-09-30 18:38:49 【问题描述】:

我遇到了一个奇怪的问题,我的UITableView 在它包含的滚动视图完全滚动后没有正确响应点击。我说得对,因为它 在触摸单元格时突出显示该行,并在抬起手指时取消突出显示它,但是 没有 调用 tableView:didSelectRowAtIndexPath:

滚动后等待多长时间并不重要。表格似乎在滚动后进入某种元状态,第一次点击被忽略。随后的点击工作正常,直到您再次滚动并使其回到损坏状态。

现在我知道在技术上不支持手动将 tableView 放入 scrollView,但我需要在没有 tableView 内置 scrollView 的典型页眉/页脚行为的情况下将整个表格作为一个可见滚动。嵌入的 tableView 禁用滚动。

我的问题是,有谁知道是什么导致了这种状态,有什么我可以手动设置或覆盖以使 tableView 脱离这种损坏状态,以便它正确响应对其单元格的第一次点击?

我已经在包含滚动视图和嵌入的 tableView 上玩弄了 cancellableContentTouchesdelaysContentTouches 属性,但无济于事。无论这些设置如何,它似乎都会发生。

【问题讨论】:

UITableView inside UIScrollView not receiving first tap after scrollling的可能重复 【参考方案1】:

作为answered here,正确的解决方案(如果您不遵守规则)是在所有嵌入式tableViews 上将scrollEnabled 设置为YES。这可以让他们正确处理触摸。但请务必在嵌入式视图上将bounces 设置为NO,以避免出现奇怪的滚动行为。

【讨论】:

以上是关于UIScrollView中的UITableView在滚动后没有响应第一次点击的主要内容,如果未能解决你的问题,请参考以下文章

UITableView 中 UIScrollView 中的 ContentOffset 问题

UIScrollView中的UITableView,滚动不起作用

UIScrollView 中的 UITableView

检测 UIScrollView 中的滚动事件并发送到 UITableView 或其他 UIScrollView

2 UIScrollView中的UITableView

iOS:无法在分页的 UIScrollView 中的 UITableView 之间滚动