IOS:动画 UICollectionViewCells 在改变方向时滑动
Posted
技术标签:
【中文标题】IOS:动画 UICollectionViewCells 在改变方向时滑动【英文标题】:IOS: Animate UICollectionViewCells to slide when changing orientation 【发布时间】:2013-02-03 23:35:11 【问题描述】:我希望覆盖我的UICollectionViewFlowLayout
,以在由于方向变化而改变位置时导致单元格滑动。我目前拥有的是纵向每行 3 个单元格和横向每行 4 个单元格,但我能得到的唯一动画是当我改变方向时默认淡入。
我一直在考虑使用 performBatchUpdates
,但我很确定这不是我能找到答案的地方。
我也一直在研究layoutAttributesForElementInRect
和layoutAttributesForItemAtIndexPath
,我认为这是我可以找到答案的地方。我不确定是否需要为单元格创建一个新属性(可能是previousCenter
)并将其用作新动画的起点,或者使用performBatchUpdates
使用应该是新帧的值作为值改变。
为了记录,我发现的所有动画问题都是关于如何更改动画以插入和删除项目,这不是我想要做的。
【问题讨论】:
【参考方案1】:试试
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:( NSTimeInterval)duration
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
[self.collectionView reloadData];
然后添加你需要的任何东西来“滑动”它。
如果您使用的是 flowLayout 或其子类,它应该会自动为您重新定位单元格。如果您使用子类布局,您可能需要调整您返回的布局属性以对应于旋转。不过动画应该为您完成。
【讨论】:
以上是关于IOS:动画 UICollectionViewCells 在改变方向时滑动的主要内容,如果未能解决你的问题,请参考以下文章