gpt4 book ai didi

iphone - 在 3/4 行之后,scrollToRowAtIndexPath 未滚动到正确的行

转载 作者:行者123 更新时间:2023-12-03 20:35:24 24 4
gpt4 key购买 nike

我有一个带有 UITableView 的 iPad 应用程序,大约有 100 行。单元格是自定义的,我已经实现了 heightForRowAtIndexPath 来告诉 UITableView 我的单元格有多大。

我正在使用这个:

   [tableView scrollToRowAtIndexPath:indexPath 
atScrollPosition:UITableViewScrollPositionMiddle animated:NO];

将表格滚动到给定行。这对于第 1-75 行非常有效。第 76 行稍微偏离中间,第 76-79 行稍微偏离中间,从第 80 行开始,它根本不再滚动到正确的位置。它只是保持原样,第 79 行是最后一个可见行。发生这种情况时,我仍然可以通过拖动手指来手动滚动表格;显然还没有结束。然而,似乎以编程方式,scrollToRowAtIndexPath认为它在实际到达之前就已经到达了表的末尾。我希望这种行为发生在表的末尾,而不是 3/4 的行。

我正在努力调试这里发生的事情;我将不胜感激任何能帮助我找出为什么当我调用scrollToRowAtIndexPath时表认为它已经在末尾的指针。

最佳答案

我遇到了同样的问题,我想我明白发生了什么: TableView 已经在执行另一个动画,并且scrollToRowAtIndexPath被忽略。将方法包装在 CATransaction block 中对我有用(快速代码):

CATransaction.begin()

tableView.beginUpdates()
tableView.scrollToRowAtIndexPath(cell.indexPath, atScrollPosition: .Middle, animated: true)
tableView.endUpdates()

CATransaction.commit()

另一个对我有用的解决方案是使用 PerformSelectorWithDelay,延迟时间足够长,以便表格 View 上的其他动画完成。

关于iphone - 在 3/4 行之后,scrollToRowAtIndexPath 未滚动到正确的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3856401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com