gpt4 book ai didi

ios - 多次调用 estimatedHeightForRowAtIndexPath 导致不稳定的 uitableview

转载 作者:行者123 更新时间:2023-11-29 01:17:51 29 4
gpt4 key购买 nike

我在一个几乎每个 uitableviewcell 都具有不同高度的应用程序中有一个要求。此外,许多单元格都有带文本的图像(1、2 或 3)。

之前我使用的是heightForRowAtIndexpath,但像往常一样,性能非常糟糕,感觉不稳定,

我按照以下步骤解决了这个问题,

  1. 实现了estimatedHeightForRowAtIndexPath
  2. 为后续调用 estimatedHeightForRowAtIndexPath 的计算高度使用缓存
  3. 在所有单元格中使用自动布局。

与以前的方法相比,性能要好得多,但是,由于列表不稳定,estimatedHeightForRowAtIndexPath 随后被调用了很多次。

如果单元格号 N 被加载,estimatedHeightForRowAtIndexPath 被调用 N-1 次,如果我们在列表中走得更远,就会发生这种情况, 如果我们倒退它知道估计的高度。

请帮助我理解为什么会发生这种情况,以及我可以做些什么来提高性能并使滚动更流畅。

最佳答案

为了让表格平滑,我使用了这个策略..

  1. 每当填充 tableView 数据源时,我都会计算每个单元格的高度。我将每个单元格的高度存储在数组 cellHeights
  2. heightforRowAtIndexPath 中,我返回 cellHeights[indexPath.row]

由此产生的过渡总是 super 流畅:)

关于ios - 多次调用 estimatedHeightForRowAtIndexPath 导致不稳定的 uitableview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34953530/

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