2009-10-22 52 views
1

我想幫助一些策略來排序一些動畫。排序UIImageView框架(S)動畫和CGTransform動畫

我對UIImageView進行了分類,以便我可以在圖像上編寫一些自定義動畫操作。我實現用作我可以在我的形象 例如調用操作的幾個方法:

-(void)rotateAnim; //rotates the image by a few degrees using a CGAffine Transform 

-(void)numbersFlashAnim; //uses the UIImageVew.animationImages array for a 14 frame animation. 

-(void)moveLeftAnim; //uses another CGAffine Transform to change the imageView's position. 

在我viewDidLoad方法創建我的UIImageView子類的實例。有什麼方法可以按順序調用這些動畫?

我正在考慮使用NSTimer處理動畫,但不確定是否可以編寫NSTimer對象來處理多個方法調用。

例如:

[imageView rotateAnim]; //when this animation is done, I want to call: 
[imageView numbersFlashAnim]; 

我見過關於使用一個NSTimer的幾個問題,但沒有具體涉及到這個問題。注意:我看到蘋果網站上的開發人員文檔也建議使用performSelector:withObject:afterDelay:在某些情況下,但是想知道這是否會提供足夠的靈活性。

此外,我已經採取了看cocos2d的框架,雖然我可以用自己的方法〜(順序操作:等),我選擇來解決這個問題的UIKit /基金會等

回答

0

你使用動畫嗎?我的意思是你可以旋轉你的圖像 [UIView beginAnimations:(NSString *)animationID context:(void *)context]塊。在那裏你可以添加一個委託方法,在當前動畫結束後調用。在那裏你可以打電話給你的numbersFlashAnim。 (對不起,我的英語;-))

+0

是的,我用一個動畫塊幷包裹在一個方法中,所以我可以用一行代碼調用整個動畫。我沒有添加任何代表。所以我會檢查一下。我可以使用animationFrames的動畫代理嗎? – 2009-10-23 17:44:45

+0

嗯。對不起,但我不明白你的意思是在animationFrames下。您可以在te動畫塊中調用imageView的旋轉。然後,您可以使用動畫的第二部分設置一個方法,該動畫在動畫完成後將被觸發。 – Morion 2009-10-23 17:59:49