BAD_ACCESS

おもにiOS、ときどき変な電子工作、ガジェット話。

右から左へpushView(CATransition)

みなさまご存知の通り、iPhoneでは通常左から右にビューが遷移していきます。
奇特なことに右から左にビューをプッシュしたいという方がおられたので、その時の情報をまとめます。
画面遷移についてはこのブログエントリに丁寧に解説されておりましたので参考にして下さい。guess what?: iPhoneアプリ開発-画面遷移のアニメーション
ここでは「右から左にpushView」するためだけの説明です。

CATransitionを使うので"QuartzCore"をインポートしておく。

#import "QuartzCore/QuartzCore.h"

CATransitionを設定する。

CATransition *transition = [CATransition animation];
transition.duration = 0.4;
transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
transition.type = kCATransitionPush;//pushのトランジション
transition.subtype = kCATransitionFromRight;//右から左へ
[self.navigationController.view.layer addAnimation:transition forKey:nil];

UINavigationControllerを使い次のビューを呼び出す。

[self.navigationController pushViewController:setting animated:YES];

これで「右から左にpushView」のできあがり。