3

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

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

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

问题是:

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

1 回答 1

2

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

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

于 2013-11-15T11:39:25.253 回答