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删除项目重新排列奇怪的动画的主要内容,如果未能解决你的问题,请参考以下文章
如何在锁定其中一些单元格时重新排序 UICollectionView 单元格
无法通过移动它们来重新排列 UICollectionView 中的单元格?
在出现之前重新加载 UICollectionView 而不让用户看到更改
如果项目未移动,是不是有方法检查 UICollectionView 项目拖动取消?