2014-09-29 75 views
1

我正試圖在Facebook的Paper應用程序中設置菜單中使用轉換:http://blog.brianlovin.com/design-details-paper-by-facebook/#1。我正在使用自定義的UIViewControllerAnimatedTransitioning對象,但無論使用什麼類型的動畫,我都無法達到相同的效果。所以我有一些問題:Facebook類似紙張的表格單元格動畫

1)使用哪個動畫?看起來細胞開始移動得非常快,然後停在最後的位置。看起來我需要POPDecayAnimation,但結果不是很接近。

2)根據單元格的索引設置動畫的beginTime是否實現了動畫之間的延遲?或者第一個細胞比上一個細胞有更大的速度?

+0

您是否在談論波動過渡效應? – Injectios 2014-09-29 09:25:35

+1

https://www.cocoacontrols.com/controls/amwavetransition – Injectios 2014-09-29 09:26:11

+0

@Injectios看起來非常好!要試試 – Spail 2014-09-29 09:32:04

回答

0

由於Injectios建議AMWaveTransition有點接近Paper的動畫。我最終使用它進行了一些調整。

我也在pop github頁面上問過這個問題,你可以查看它here。如果你想自己實現這個動畫,他們的回答可能很有用:

嘿!我在紙上實現了這一點。每個單元格上的動畫都是POPSpringAnimations,並且它們通過(每幀)更新每個動畫的toValue以指向之前的值的當前值連接在一起。希望有所幫助!

-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

PS:更新邏輯根據您的要求

+0

這並不能解決我的問題 – Spail 2014-10-23 08:22:45

相關問題