首页 > 解决方案 > UICollectionView AutoSizingCells reloadData()上的奇怪跳转/故障

问题描述

我正在使用UICollectionViewAutoSizingCells功能

问题1 当我将此方法结合使用estimatedItemSize并尝试调用reloadData()时,我可以观察到单元格的内容是如何变化的。

即,如果我有两个单元格:

Cell1 - "Text1"
Cell2 - "AnotherCell"

一秒钟我可以看到这种状态:

Cell1 - "AnotherCell"
Cell2 - "Text1"

然后,它更新为正确的:

Cell1 - "Updated Text"
Cell2 - "AnotherCell"

视频:重新加载数据

第 2 期

当我尝试仅重新加载选定的单元格时,我看到了另一个错误:整个 collectionView 跳跃并快速更新其大小。

视频:重新加载单个项目

当根本不使用AutoSizingCells时,单元重新加载没有问题。

即使我不覆盖该错误也是可重现的preferredLayoutAttributesFitting(_ layoutAttributes: UICollectionViewLayoutAttributes) -> UICollectionViewLayoutAttributes

是否有任何选项可以在启用AutoSizingCells的情况下禁用动画?

标签: iosswiftuicollectionviewautolayoutautosize

解决方案


推荐阅读