IOS UITableView选择高亮有时非常快didselect没有被调用



有一个奇怪的问题,大约15%的时间,当选择一个单元格与UITableView单元格高亮快速闪烁和didSelectRowAtIndexPath不调用。其余时间它工作得很好。

测试了它是如何被选择的(快/慢指甲,等等),但情况似乎并非如此。看起来半随机。

有什么想法可能导致这个?

IOS 6. x

(除了)谢谢大家的评论。

如果在点击鼠标(模拟器)移动的同时,问题可以重复。即使将表设置为。scrollenabled = false,它仍然会发生。此外,didHighlightRowAtIndexPath会触发,而didSelectRowAtIndexPath在"快速"情况下不会触发。

同样的事情发生在IOS 5上。x还…

[结论]

好吧,事实证明,滚动被关闭的表格,它似乎更挑剔的"移动点击"打开滚动实际上使"移动点击"不那么挑剔。我刚刚发现了一些其他的帖子,基本上说了同样的事情。这是一个奇怪的结论,对于一个禁用滚动并产生没有选择的"快速高亮"的表视图。看来这就是为什么他们在ios6中添加了didHighlight来试图解决这个"问题"。

是否有可能从单元格中的视图吸收触摸而不是单元格?也许你在单元格中有一个手势识别器,它们优先于简单的触摸事件

似乎由于某种原因您的单元格被禁用了。尝试在单元格显示之前设置cell.enabled = TRUE;,看看它是否修复了任何东西。

您的手指向上或向下移动,导致表格滚动。您的项目将不会被选中,高亮显示将消失。我之前通过跟踪tableView:didHighlightRowAtIndexPath中的行处理过这个问题,然后在tableView: diddunhighlightrowatindexpath:中做动作。你也可以通过让tableView不可滚动来解决这个问题如果你的ui中有这个选项

最新更新