【问题标题】:didSelectRowAtIndexPath does not get called when scrolling and selecting a cell滚动和选择单元格时不会调用 didSelectRowAtIndexPath
【发布时间】:2011-02-06 14:10:18
【问题描述】:

似乎当我滚动表格视图时,如果我在表格视图仍在滚动时选择了一个单元格,则不会调用 didSelectRowAtIndexPath。当表格视图静止时它工作正常。

关于为什么会这样的任何想法?

另外,有没有一种方法可以在按下时调用 didSelectRowAtIndexPath?似乎在我的手指/光标离开单元格后会调用它。

谢谢,

【问题讨论】:

    标签: iphone objective-c view scroll didselectrowatindexpath


    【解决方案1】:

    我相信这是正确的行为,而 tableView 滚动单元格不应该是交互式的,否则再次点击以继续长滚动会激活单元格。

    【讨论】:

    • 如果我想调用 didSelectRowAtIndexPath 怎么办,即使滚动仍在进行。有没有办法可以做到这一点,即使这意味着强制停止滚动以便可以调用 didSelectRowAtIndexPath?
    • 我想您可以在触摸事件进入您的视图时拦截它们,然后确定它们在 tableView 上的位置并自己调用 didSelectRowAtIndexPath:...虽然我真的认为它会提供一个糟糕的用户体验。如果你不介意我问,用例是什么?
    • 我基本上使用两个表格视图。一个显示类别,另一个显示每个类别中的信息列表。选择每个不同的类别时,它会立即在第二个表格视图中显示信息,但如果我滚动类别然后选择一个作为其减慢速度,它不会显示信息,因为 didSelectRowAtIndexPath 不会被调用 do 仍然轻微滚动。如果我能找到一种方法来调用 didSelectRowAtIndexPath 会很好,因为它现在的工作方式看起来有点错误,即使这是正确的行为。
    • 正如我之前所说,您可以在触摸事件进入您的主视图时拦截它们,然后自己处理所有事情,但在您的情况下,我认为打破用户知道的行为可能会感觉有点比必须等待表格停止滚动更奇怪。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    相关资源
    最近更新 更多