【发布时间】:2013-02-14 00:53:33
【问题描述】:
作为测试,我制作了一种布局,以垂直线显示单元格,另一种以水平布局显示单元格。当我调用[collectionView setCollectionViewLayout:layout animated:YES]; 时,它在两个位置之间的动画非常干净。
现在我希望 让所有视图在最终到达目的地之前在屏幕上进行几次旋转、扭曲和翻转(可能使用 CAKeyframeAnimations),但我可以'找不到好地方挂这个。
我尝试将UICollectionViewLayoutAttributes 子类化以包含动画属性,然后将这些动画设置在我正在使用的UICollectionViewCell 的覆盖applyLayoutAttributes: 方法中。这行得通...除了它似乎只发生在布局转换完成之后。如果我想使用它,我必须让布局不要立即更改对象的当前位置,只有在它到达代码的这个应用属性部分之后,这似乎需要做很多工作......
或者我可以继承 UICollectionView 并覆盖 setCollectionViewLayout:animated:,但这似乎也需要在布局之间保留很多状态。这些选项似乎都不正确,因为有这样的 一种简单的方法来动画添加/删除单元格内 布局。我觉得应该有类似的东西可以连接到 between 布局的动画中。
有谁知道获得我想要完成的任务的最佳方法?
【问题讨论】:
-
你能展示你的代码吗?
标签: objective-c ios6 uicollectionview uicollectionviewlayout