2009-04-28 11 views
0

私のアニメーションがアニメーション停止セレクタが呼び出されないのはなぜですか?

[UIView beginAnimations:@"swipe" context:NULL]; 
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut]; 
[UIView setAnimationDelegate:self]; 
[UIView setAnimationDidStopSelector:@selector(transitionDidStop:finished:context:)]; 
[UIView setAnimationDuration:0.3f]; 

//My Animation 

[UIView commitAnimations]; 

を停止すると、私は、メソッドを呼び出すために、次のコードを使用していますが、これはtransitionDidStop方法

- (void)transitionDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context 

の署名であるしかし、私はこの方法をした後も呼び出されることはありませんことに気づきました移行は停止します。何故ですか?

答えて

1

あなたは

- (void)transitionDidStop:(NSString *)animationID finished:(BOOL)finished context:(void *)context 

方法

が必要しかし、あなたはそれが動作

- (void)transitionDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context 
+0

を持っているので。ありがとう。私はメソッドの使用法のためのMoveMeサンプルを見て、それはNSNumberとして第2引数を指定します。奇妙な。再度ありがとう – lostInTransit

+0

バグ?アップルのコードですか?決して! –

+0

りんごコードの場合はNSNumberで動作します)) しかしドキュメント: http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/ clm/UIView/setAnimationDidStopSelector ..... セレクタには、次のメソッドシグネチャが必要です。animationFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context。 – oxigen

関連する問題