ios – 滚动时UITableViewCell autolayout jerk的动态单元格高度问题

ios – 滚动时UITableViewCell autolayout jerk的动态单元格高度问题,第1张

概述我正在尝试做一些事情,例如在uitableview中加载具有自定义高度的不同类型的单元格. tableview单元格是子类,由具有相应约束的标签组成.每个单元具有动态高度. 现在甚至在我的表重新加载数据之前,我正在计算调整单元格大小所需的高度并将其缓存在我的模型类中,这样我就不必计算在设备上渲染数据时的高度. 为了计算高度,我确实使用了Ray Wenderlich的教程,并且我有正确的高度适用于对 我正在尝试做一些事情,例如在uitablevIEw中加载具有自定义高度的不同类型的单元格. tablevIEw单元格是子类,由具有相应约束的标签组成.每个单元具有动态高度.

现在甚至在我的表重新加载数据之前,我正在计算调整单元格大小所需的高度并将其缓存在我的模型类中,这样我就不必计算在设备上渲染数据时的高度.

为了计算高度,我确实使用了Ray Wenderlich的教程,并且我有正确的高度适用于对象.

Now the problem comes. Whenever I am de@R_859_4403@ the cells there is a
kind of a small jerk that gives me an indication that my cell is
dequeued while scrolling.

如何使这些运动平滑,以便在滚动视图时没有混蛋?

高度将被分配,并根据当前加载的数据类型获取值.

estimatedRowForIndexPath

我也从我的cellForAtindexPath调用layoutIfNeeded

建议是最受欢迎的.

解决方法 如果没有在cellForRowAtIndexPath中看到您的代码,并且没有看到您的单元格及其各自的代码,那么很难说.以下是我要调查的一些常见问题:

单元格的内容是什么,单元格中的视图层次结构有多复杂?

即使您提供正确的估计高度,仍然需要进行自动布局传递,并且复杂的视图层次结构将需要时间来解决

单元格是否包含图像?

需要从文件解压缩的图像(UIImage imagenamed :)可能是密集的并导致滚动问题,检查图像并不比它们需要的大.如果需要,将此工作添加到后台线程.

您是否正在调用复杂方法来配置要在cellForRowAtIndexPath中显示的单元格?

看看在cellForRowAtIndexPath中实际完成的工作,是否有一个复杂的方法在您的单元子类或视图模型中被触发?

您是否在cellForRowAtIndexPath中向单元视图层次结构添加和删除视图?

如果在单元格配置期间添加,删除,创建,从xib充气,约束等视图,这可能会减慢速度.尽量只做必要的事情.在cellForRowAtIndexPath期间检查是否有任何代码在cellForRowAtIndexPath内部运行,可以移动到单元格initWith …或awakeFromNib方法(即在创建单元格时可以运行一次的代码,而不是每次显示单元格时)

同时运行Instruments时间分析器,看看是否提供了更多线索

总结

以上是内存溢出为你收集整理的ios – 滚动时UITableViewCell autolayout jerk的动态单元格高度问题全部内容,希望文章能够帮你解决ios – 滚动时UITableViewCell autolayout jerk的动态单元格高度问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003687.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存