a を使用するCATransaction
と、これを簡単に行うことができます。
最初に、QuartzCore フレームワークをターゲットに追加します (まだ追加していない場合)。
次に、まだ追加していない場合#import <QuartzCore/QuartzCore.h>
は、ファイルの先頭に追加します。.m
[CATransaction begin]
遷移を作成するステートメントの前に実行します。次に、新しいトランザクションの完了ブロックを設定します。次に、アニメーションを作成します。最後に、トランザクションをコミットします。次に例を示します。
- (IBAction)flipButtonWasTapped:(id)sender {
[CATransaction begin]; {
[CATransaction setCompletionBlock:^{
NSLog(@"all animations complete!");
}];
[UIView transitionFromView:self.topFrontLabel
toView:self.topBackLabel duration:1
options:UIViewAnimationOptionTransitionFlipFromRight
completion:nil];
[UIView transitionFromView:self.bottomFrontLabel
toView:self.bottomBackLabel duration:1.5
options:UIViewAnimationOptionTransitionFlipFromRight
completion:nil];
} [CATransaction commit];
}
アニメーションを作成する前に、完了ブロックを設定する必要があることに注意してください。完了ブロックは、設定後に追加されるアニメーションを待機するだけです。
CATransaction
のすべてのメソッドはクラス メッセージであることにも注意してください。トランザクションを表すオブジェクトを取得しません。