gpt4 book ai didi

ios - 自动布局自动调整大小的单元格和 UITableView 口吃/抖动

转载 作者:行者123 更新时间:2023-12-01 16:32:10 26 4
gpt4 key购买 nike

学习使用自动布局计算动态表格 View 单元格高度的有效方法。遇到滚动表格 View 时的问题,它开始有点卡顿,这很烦人。有时向上滚动时会卡顿很多,但这可能与我的演示核心数据代码有关。

This视频演示了这个问题。示例项目位于 github存储库(见 SZNewsFeedViewController)。

单元格的布局非常简单:
layout screenshot

我的第一个猜测是查看模拟器中的混合层,但这很好:
color blended layers screenshot

如果我注释掉图像设置,口吃不会消失,所以,这可能不是真正的原因。我使用 FastImageCache 异步设置图像.我想我可以观察事件滚动并跳过图像设置,直到它完全停止,但我不确定这是否真的有帮助。

更换tableView:heightForRowAtIndexPath:带有 return 250 的代码也没有完全解决问题。

现在我更改了带有图像的帖子的高度约束常量,将为纯文本帖子和图像帖子尝试单独的单元格。

你能指出我,什么可能导致这种口吃,我可以尝试更多来解决它吗?我的布局或高度计算代码有什么问题?
是否有任何适当的方法可以在后台线程中预先计算高度(与 systemLayoutSizeFittingSize 返回的值相同)并将其保存到核心数据模型,以便能够快速重用这些值?

编辑 :分析器说高度计算需要大部分时间:
profiler screenshot

更新 :
好的,似乎单独的单元格 + 高度缓存是一个更好的解决方案——tableview 的抖动少了一点。另外,tableView:estimatedHeightForRowAtIndexPath:似乎有害而不是有益。删除此方法也可以消除更多的抖动。我发现经过上述方法后,[collectionview reloadData] call 影响最大 - 删除此调用几乎不会导致抖动。我将尝试静态 ImageView + 观看事件滚动以确定这是否不会导致抖动。

最佳答案

看起来您仍在实现 heightForRow:atIndexPath: 并且没有使用 UITableViewAutomaticDimension。

关于ios - 自动布局自动调整大小的单元格和 UITableView 口吃/抖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31125631/

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