2010-02-18 151 views
2

說我有...如何知道Core Animation何時完成?

[UIView beginAnimations:nil context:NULL]; 
[UIView setAnimationDuration:0.5]; 

CGPoint position = myObject.center; 
position.x = position.x - 10; 

myObject.center = position; 

[UIView commitAnimations]; 

核心動畫發生在一個單獨的線程有沒有辦法知道什麼時候 動畫已經完成?也許有一些方法可以連接 函數調用以瞭解它何時完成...?

(P.S我知道我可以使用,在這個 例如上面說0.5秒後觸發的方法的計時器,但似乎很俗氣)

任何幫助,非常感謝!

回答

5

您可以設置setAnimationDidStopSelector:

http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/clm/UIView/setAnimationDidStopSelector

  • (無效)setAnimationDidStopSelector:(SEL)選擇

然後實現方法爲選擇

[UIView setAnimationDidStopSelector:@selector(finishedAnimation:finished:context:)]; 


- (void) finishedAnimation:(NSString *)id finished:(BOOL) finished context:(void *) context { 
    ...... 
} 

希望有所幫助秒。