gpt4 book ai didi

ios - 具有不同项目高度的自下而上的 UITableView 滚动到结束

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:16:51 26 4
gpt4 key购买 nike

我有一个具有不同项目高度的 UITableView。在开始时,用户应该看到最后的项目(在列表的末尾)并且应该能够手动滚动到顶部。

为了到达列表的末尾,我在调用 [tableView reloadData] 之后在主线程上使用了 [tableView scrollToRowAtIndexPath:lastIndexPath atScrollPositionBottom animated:NO]后台进程。为了加快速度并达到真正的目的,我使用 estimatedHeightForRowAtIndexPath 并返回前 8 个项目 (CGFloat)500 和其他项目 (CGFloat )100。使用 estimatedHeightForRowAtIndexPath 可避免为列表中的每个项目调用 heightForRowAtIndexPath(它可能是一个很长的列表)。

在 iOS 8(iPhone 4S、5S、6)上一切正常,但在 iOS 7(iPhone 4S)上,只有 heightForRowAtIndexPath 被调用,而不是 cellForRowAtIndexPath,所以有在我开始滚动之前没有显示任何项目。为每个 estimatedHeightForRowAtIndexPath 返回 (CGFloat)100 - 调用避免了这种情况,但它不会滚动到列表的实际末尾并与 iOS 8 iPhone 4S 版本相匹配很慢。

有什么建议吗?

最佳答案

好吧,您可以在向下滚动后简单地重新加载可见单元格....

[tableView reloadRowsAtIndexPaths:[tableView indexPathsForVisibleRows] 
withRowAnimation:UITableViewRowAnimationNone];

关于ios - 具有不同项目高度的自下而上的 UITableView 滚动到结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27044025/

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