ios - UICollectionView deleteItemsAtIndexPaths 无法正确为补充 View 设置动画

标签 ios uicollectionview

(下面更新)

当我从 Collection View 中的某个部分(例如第 0 部分)中删除项目时,我发现补充 View (在本例中是 UICollectionViewFlowLayout 中的标题)会随着第 0 部分中的单元格动画消失而弹出到位,并且出现“后面部分的“重复”与它们一起动画以匹配弹出的部分。

当然,突然出现的可能是“重复项”,但这并不重要。就好像收藏 View 可以看到 future 一样!然后正在追赶自己。这就是动画的感觉。

您知道是否有一些怪癖或错误或简单的修复来抑制这种额外弹出的补充 View ?

更新:我注意到单元格也会出现这种情况,而不仅仅是部分,并且它似乎使屏幕上底部的几个单元格和部分“加倍”。当我从零部分删除单元格时,其下方的少数部分和单元格会正确动画,不会重复,但超过某个点后,它们就会弹出。约束问题?

最佳答案

这是 UICollectionViewFlowLayout 的一个错误。无论出于何种原因,UICollectionViewFlowLayout 无法正确为不在屏幕上的单元格设置动画。

我已经采取了两种解决该问题的解决方法,但都没有完全解决它。第一种是人为地增加 Collection View 的框架,以便它创建动画所需的单元格,从而在数据更改时正确地进行动画处理。这有点黑客行为,并不适用于所有情况。

另一个选择是从头开始编写您自己的流程布局。这对我有用,复杂性完全取决于布局的复杂程度。这是我用来编写自己的流程布局的示例:https://github.com/chiahsien/UICollectionViewWaterfallLayout

关于ios - UICollectionView deleteItemsAtIndexPaths 无法正确为补充 View 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15416384/

相关文章:

ios - 设置从数组中选择的按钮的标题 - Xcode iOS

iOS Collection View : Loading Data Asynchronously

ios - 如何将在 Collection View 中选择的所有单元格列出到另一个 View 中

ios - Swift 给 uicollectionviewcell 宽度和动态高度

ios - iPhone 上有超过 5 个触控点

ios - UITableView 是否有一个包含所有单元格的数组属性?

ios - 核心情节使我的应用使用乐器崩溃

ios - 堆栈 View 中的间隔对象

ios - 如何在 Objective C 中创建一个简单的演练

iOS UICollectionView : Cells not showing