2012-04-28 10 views
1

私はnsviewアニメータが停止したときにコールバックを設定する方法を理解しようとしています。誰でもこれを行う方法を知っています。OS X 10.7アニメーションを停止しました

NSRect frame = blob.frame; 
frame.origin.x = animationStopX; 
[NSAnimationContext beginGrouping]; 
[[NSAnimationContext currentContext] setDuration:timeToDisappear]; 
[[blob animator] setFrame:frame]; 
[NSAnimationContext endGrouping]; 
+0

あなたは本当に同じ質問を二度もするべきではありません - 少しの忍耐を持ってください。私はあなたの後の投稿に回答を掲載しました。 – rdelmar

答えて

0

frameOriginアニメーションに代理人を設定できます。

CAAnimation *moveAnimation = [[blob animationForKey:@"frameOrigin"] copy]; 
moveAnimation.delegate = self; 
[blob setAnimations:[NSDictionary dictionaryWithObject:moveAnimation forKey:@"frameOrigin"]]; 
[moveAnimation release]; 

10.8の端アニメーションデリゲートメソッドをオーバーライド

- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag 
2

NSAnimationContextあなたはブロックで使用できるcompletionHandler性質を持っています。

+0

completionHandlerは、アニメーションが正常に実行されたか、またはキャンセルのために呼び出されたかを教えてくれませんが。時には、それがどのように終了したかを知ることが重要です。 – strange

関連する問題