我正在尝试在Facebook的Paper应用程序的设置菜单中实现转换:http://blog.brianlovin.com/design-details-paper-by-facebook/#1。我正在使用我的自定义UIViewControllerAnimatedTransitioning对象,但无论我使用什么类型的动画,我都无法达到相同的效果。所以我有一些问题:
1)使用哪种动画?看起来细胞开始快速移动,然后停止到最终位置。看起来我需要POPDecayAnimation,但结果甚至都不接近。
2)设置动画的beginTime取决于单元格的索引,是否实现了动画之间的延迟?或者第一个细胞的速度比最后一个细胞大?
答案 0 :(得分:0)
Injectios建议AMWaveTransition与Paper的动画有点接近。我最后使用了一些调整。
我也在pop github页面上问了这个问题,你可以查看它here。如果你想自己实现这个动画,他们的答案可能会有用:
喂!我在Paper中实现了它。每个单元格上的动画是POPSpringAnimations,它们通过(每一帧)连接在一起,更新每个动画的toValue以指向之前的动画的当前值。希望有所帮助!
答案 1 :(得分:-1)
在cellForRowAtIndexPath中,使用UIViewAnimation块。
根据您的要求设置单元格属性:
然后在动画块中,更改帧位置。
例如,对于第一个单元格,indetationLevel = 1,以及indentationWidth = cell.frame.size.width,然后将其更新为该动画块中的indetationLevel = 0和indentationWidth = 0。对于更多单元格,您可以将此值乘以(cellIndexPath + 1)
P.S。:根据您的要求更新逻辑