0

如何嵌套多個CA動畫像UIView animateWithDuration呢?例如,我需要動畫6個動畫,每個動畫在前一個動畫之後。所以,在UIView animateWithDuration中,每個下一個動畫都是從完整塊中調用的。 CA允許使用塊等嗎?如果沒有,那麼如何執行嵌套順序動畫?如何嵌套多個CA動畫?

回答

1

CAAnimation沒有基於塊的API,但您可以使用其委託方法animationDidStop:finished:來鏈接多個動畫。

如果你這樣做了很多,你可能想爲你自己編寫基於塊的包裝器。

+0

不那麼艱難,在這一刻我自己寫的包裝:)關於使用委託一個問題:實施animationDidStop:完成:委託方法將觸發它的所有屏幕上的動畫(包括UIView動畫)或只有CA動畫? – Centurion

+0

僅適用於您將自己設爲代表的動畫。 – omz

0

除了omz的回答,您可以設置NSTimer對象來啓動動畫的連續部分。

[NSTimer scheduledTimerWithTimeInterval:2.0 target:self selector:@selector(legOne:) userInfo:nil repeats:NO]; 
[NSTimer scheduledTimerWithTimeInterval:4.0 target:self selector:@selector(legTwo:) userInfo:nil repeats:NO]; 

其中legOne:是,做動畫的第一部分的方法等