これはまったくの初心者の質問です (申し訳ありません) が、あるアニメーションをコミットする方法と、それが終了したら別のアニメーションを開始する方法を考えていました。画像が x=0 から x=300 に移動したと想像してください。次に、同じ画像をもう一度アニメーション化しますが、今回は x=300 から x=330 に変更して、画面から消えます。
次のコードは、x=300 から x=330 までのアニメーションのみを実行し、x=0 から x=300 までのアニメーションをコミットしません。私は commitAnimation の概念を理解していないと確信していますが、これは明らかですが、2 つのアニメーションを連続して行うにはどうすればよいでしょうか?
画像をすぐに 330 に移動できることはわかっていますが、最初のアニメーション (x 0 - 300) を別のアニメーションと同期させる必要があるため、これは望ましくありません。
ここに私の(間違った)コードがあります:
[UIView beginAnimations:@"shadowMove" context:nil]; // Begin animation
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[imageView setFrame:CGRectOffset([imageView frame], 300, 0)];
[UIView commitAnimations]; // End animations
// Second Animation
[UIView beginAnimations:@"shadowMoveRestAway" context:nil]; // Begin animation
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
[imageView setFrame:CGRectOffset([imageView frame], 330, 0)]; // Move imageView off screen
[UIView commitAnimations]; // End animations