【发布时间】:2016-01-22 18:26:56
【问题描述】:
我在一个应用程序中有一个要求,其中几乎每个 uitableviewcell 都具有不同的高度。此外,许多单元格都有带文本的图像(1,2 或 3)。
之前我使用的是 heightForRowAtIndexpath,但和往常一样,性能非常可悲,感觉很生涩,
我做了以下来解决这个问题,
- 已实现 estimatedHeightForRowAtIndexPath
- 使用缓存来计算高度,以便后续调用estimatedHeightForRowAtIndexPath
- 在所有单元格中使用自动布局。
与以前的方法相比,性能要好得多, 但是,estimatedHeightForRowAtIndexPath 随后被调用了很多次,因此列表很不稳定。
如果单元格编号 N 被加载,estimatedHeightForRowAtIndexPath 被调用 N-1 次,如果我们在列表中更进一步就会发生这种情况,如果我们往回走,它就会知道估计的高度。
请帮助我了解为什么会发生这种情况,以及我可以做些什么来提高性能并让滚动更流畅。
【问题讨论】:
标签: ios swift uitableview ios-autolayout uitableviewautomaticdimension