UICollectionview删除项目重新排列奇怪的动画

Posted

技术标签:

【中文标题】UICollectionview删除项目重新排列奇怪的动画【英文标题】:UICollection view delete item rearrangement weird animation 【发布时间】:2013-11-15 10:40:36 【问题描述】:

我有一个基本的 UICollectionView 和一个基本的项目列表。我在项目上实现了一个删除按钮,以便用户可以删除其中的一些。除了在项目被删除时重新排列项目之外,一切都很好。

如果您删除项目 N-1,它会在视觉上删除列表中的第一个,将最后一个移动到第一个位置并“重用所有单元格”以设置正确的内容。

基本上,我希望它会将最后一项移至 N-1 项。 注意:当我得到 1 行和 2 个项目时会发生这种预期的行为,这让我相信我以某种方式做对了。

问题是:

这是删除对象时集合视图的标准行为吗? 如何在不重写整个内容的情况下快速修复它?

【问题讨论】:

【参考方案1】:

我发现了问题所在。碰巧我在deleteItemAtIndexPath之后发布了一个通知,它实际上正在调用一个正在调用collectionView reloadData的setter。这个 reloadData 在这个阶段不应该被调用,所以我修复了它,它就像一个魅力。

因此,如果您有有趣的动画,请确保您没有以某种方式调用 reloadData。

【讨论】:

以上是关于UICollectionview删除项目重新排列奇怪的动画的主要内容,如果未能解决你的问题,请参考以下文章