我已经对UICollectionViewFlowLayout
进行了分类,在该子类中,我更改UICollectionViewLayoutAttributes
帧,以便它们显得更大或更小 - 具体取决于它们在屏幕上的位置。< / p>
我在layoutAttributesForElementsInRect
中执行了框架更改:
并在layoutAttributesForItemAtIndexPath
中返回它:
我在shouldInvalidateLayoutForBoundsChange
中返回YES:
一切运行良好,但细胞不会对框架的变化进行动画处理。
我错过了什么吗? 为什么这些更改没有动画?
感谢。
答案 0 :(得分:0)
解决。
没有&#34;动画功能&#34;或类似的东西,因为在您自己的自定义(流程)布局中更改集合视图的项目框架只是无法动画。
该问题的解决方案是编写一个算法来计算方法layoutAttributesForElementsInRect:提供的所有相关帧,以便设置项目的框架将尊重地设置另一个项目的框架将补偿增加的大小,或缩小尺寸。