重新加载数据时的奇怪问题 (iOS)

Weird issues when reloading data (iOS)

我有一个名为 parentCollectionView 的 collectionView,它可以水平滚动。在每个可重用的单元格中都有一个 collectionView,称为 childCollectionView,它可以垂直滚动。

我有一个奇怪的问题。当我在 parentCollectionView 上 reloadData() 时,单元格会 glitch/flicker 几分之一秒,如果向下滚动,它将从顶部加载 childCollectionView。最奇怪的是,它只会在您第一次调用 parentCollectionView 上的 reloadData() 时发生。之后每次都没有闪烁,也不强求上位。当我放弃 reloadData() 方法并使用 reloadSections/IndexPaths 时,它每次都会从顶部加载。

这到底是怎么回事?

我没有在 parentCollectionView 上给 reloadData 打电话。相反,我在可见的 childCollectionViews 上调用了 reloadData,并将 delegate/datasource 设置为零,以分配已释放的单元格(在 prepareForReuse 中)。

似乎通过 reloadData() 重新加载 parentCollectionView 正在重绘所有内容。