Facebook纸样表格细胞动画

时间:2014-09-29 09:12:08

标签: ios uitableview animation

我正在尝试在Facebook的Paper应用程序的设置菜单中实现转换:http://blog.brianlovin.com/design-details-paper-by-facebook/#1。我正在使用我的自定义UIViewControllerAnimatedTransitioning对象,但无论我使用什么类型的动画,我都无法达到相同的效果。所以我有一些问题:

1)使用哪种动画?看起来细胞开始快速移动,然后停止到最终位置。看起来我需要POPDecayAnimation,但结果甚至都不接近。

2)设置动画的beginTime取决于单元格的索引,是否实现了动画之间的延迟?或者第一个细胞的速度比最后一个细胞大?

2 个答案:

答案 0 :(得分:0)

Injectios建议AMWaveTransition与Paper的动画有点接近。我最后使用了一些调整。

我也在pop github页面上问了这个问题,你可以查看它here。如果你想自己实现这个动画,他们的答案可能会有用:

  

喂!我在Paper中实现了它。每个单元格上的动画是POPSpringAnimations,它们通过(每一帧)连接在一起,更新每个动画的toValue以指向之前的动画的当前值。希望有所帮助!

答案 1 :(得分:-1)

  1. 在cellForRowAtIndexPath中,使用UIViewAnimation块。

  2. 根据您的要求设置单元格属性:

    • indentationLevel
    • indentationWidth
    • shouldIndentWhileEditing
  3. 然后在动画块中,更改帧位置。

  4. 例如,对于第一个单元格,indetationLevel = 1,以及indentationWidth = cell.frame.size.width,然后将其更新为该动画块中的indetationLevel = 0和indentationWidth = 0。对于更多单元格,您可以将此值乘以(cellIndexPath + 1)

  5. 有关详细信息,请访问:https://developer.apple.com/library/ios/Documentation/UIKit/Reference/UITableViewCell_Class/index.htm

  6. P.S。:根据您的要求更新逻辑