Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UICollection视图删除项目重新排列动画_Ios_Objective C_Uikit_Uicollectionview - Fatal编程技术网

Ios UICollection视图删除项目重新排列动画

Ios UICollection视图删除项目重新排列动画,ios,objective-c,uikit,uicollectionview,Ios,Objective C,Uikit,Uicollectionview,我有一个基本的UICollectionView和一个基本的项目列表。我在项目上实现了一个删除按钮,这样用户就可以删除其中的一些项目。除了在删除项目时重新排列项目外,一切都很好 如果删除项目N-1,它会直观地删除列表中的第一个,将最后一个移动到第一个位置,并“重用所有单元格”以设置正确的内容 基本上,我希望它将最后一个移动到N-1项。 注意:当我有一行和两个项目,这让我相信我做了正确的事情时,这种预期的行为就会发生 问题是: 这是删除对象时集合视图的标准行为吗 如何在不重写整个内容的情况下快速修

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

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

基本上,我希望它将最后一个移动到N-1项。 注意:当我有一行和两个项目,这让我相信我做了正确的事情时,这种预期的行为就会发生

问题是:

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

    • 我解决了这个问题。碰巧我在deleteItemAtIndexPath之后发布了一个通知,它实际上在调用一个setter,而setter正在调用collectionView重载数据。这个重载数据在这个阶段不应该被调用,所以我修复了它,它就像一个符咒

      因此,如果您有有趣的动画,请确保您没有以某种方式调用重载数据