【问题标题】:IOS UITableView Selection Highlight is sometimes very quick and did select is not being calledIOS UITableView 选择突出显示有时非常快,并且没有调用选择
【发布时间】:2013-05-24 23:31:51
【问题描述】:

有一个奇怪的问题,其中大约15%的时间在选择具有UITATION的单元格时,小区亮点很快就会闪烁,并且未调用DidSelectRowatIndExpath。其余时间它工作正常。

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

有什么想法可能导致这种情况吗?

IOS 6.x

[加法] 感谢到目前为止的 cmets。

如果在单击鼠标(模拟器)时正在移动,则问题可能会重复。即使表设置为 .scrollEnabled = false 它仍然在发生。此外,在“快速”情况下,didHighlightRowAtIndexPath 会触发,而 didSelectRowAtIndexPath 不会触发。

在 IOS 5.x 上也会发生同样的事情......

[结论]

好吧,事实证明,表格的滚动功能已关闭,“移动水龙头”似乎更加挑剔。打开滚动实际上使“移动水龙头”不那么挑剔。我刚刚发现其他一些帖子几乎都说了同样的话。对于禁用滚动并在没有选择的情况下产生“快速突出显示”的表视图来说,这是一个奇怪的结论。看起来这就是为什么他们在 IOS 6 中添加了 didHighlight 来尝试解决这个“问题”。

【问题讨论】:

  • 我在尝试将 UITableView 放入 iOS 6 上的 UIScrollView 时遇到了这个问题。您的表格视图是否在 UIScrollView 类中?
  • 不这么认为,但会检查一下。这是一个更大的应用程序

标签: ios uitableview selection


【解决方案1】:

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

【讨论】:

  • 不,单元格/自定义单元格中没有手势。查看了项目中的所有手势,似乎没有一个是父母。会再看
【解决方案2】:

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

【讨论】:

  • 不,单元格已正确启用,等等
【解决方案3】:

您正在稍微向上或向下移动手指,导致表格滚动。您的项目将不会被选中,突出显示将消失。我之前通过跟踪 tableView:didHighlightRowAtIndexPath 中的行来处理这个问题,然后在 tableView:didUnhighlightRowAtIndexPath: 中执行操作。如果这是您的 ui 中的一个选项,您也可以通过使 tableView 不可滚动来解决您的问题。

【讨论】:

  • 这似乎是正在发生的事情。已禁用在表格上滚动而没有更改。可以做 DidHighlight,但也必须支持 IOS 5.x,它没有这个。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-02-19
  • 1970-01-01
  • 1970-01-01
  • 2015-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多