重新加载数据时的 UICollectionView 奇怪的动画(幽灵单元、flash)
Posted
技术标签:
【中文标题】重新加载数据时的 UICollectionView 奇怪的动画(幽灵单元、flash)【英文标题】:UICollectionView weird animation (ghost cell, flash) on reload data 【发布时间】:2019-10-04 14:21:24 【问题描述】:您好,正如您在下面的video link 中看到的那样,当我重新加载数据时,一帧发生了一些事情,一些幽灵单元出现和消失,就像一个奇怪的动画......是因为使用了可重复使用的单元吗?如果是,它是否可以预防,因为它不是那么漂亮,并且使用 CATransition 动画似乎会导致一些丢帧(视频中未显示)。任何帮助将不胜感激。
Google Drive Link
Video Youtube Link
* 编辑 *
该视频似乎没有被谷歌驱动器处理,抱歉,您必须先下载它才能观看。
为方便起见添加了Youtube link
【问题讨论】:
还不知道反对票是怎么回事... 【参考方案1】:好的,感谢所有不必要的反对,我自己找到了答案:
第一个解决方案是使用
collectionView.reloadItems(at: collectionView.indexPathsForVisibleItems)
但这仍然会导致一些问题和闪烁的东西。
其他人说在那之后使用layoutIfNeeded()
,但这并没有帮助。
我找到的解决方案是使用func reloadSections(_ sections: IndexSet)
所以当我使用collectionView.reloadSections(IndexSet(integer:0))
(在我的情况下是第一部分)时,动画会流畅而完美。
【讨论】:
以上是关于重新加载数据时的 UICollectionView 奇怪的动画(幽灵单元、flash)的主要内容,如果未能解决你的问题,请参考以下文章
在Swift中加载UICollectionView时的加载器/微调器
UICollectionView 重新加载数据不会更新单元格