こんにちわ。

そういえば、画面の切替の実装について説明をする!と言っておきながら、してませんでしたヽ(;´Д`)ノ

今回はその説明をしたいと思います。
ちょっと長いかもしれないけど、最初は何もわかっていない状態から、
自分ではなんとか納得したつもりで書いてますので、僕と同じ状態の人には参考になるかもしれませんよ!(・ω・)/

この記事「タイトル画面」から「ヘルプ画面」へ画面の切替をやりましたね。

真ん中らへんに GamePPoiViewController.m

(IBAction)showHelpView メソッドを記述しました。
$無知の状態からiPhoneアプリ開発に挑んでみる-2011-2-24-3
↑クリックで拡大表示

- (IBAction)showHelpView {

     HelpViewController *controller = [[HelpViewController alloc]
          initWithNibName:@"HelpViewController" bundle:nil];

     controller.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;

     [self presentModalViewController:controller animated:YES];

     [controller release];


}

これはヘルプ画面を表示するメソッドです。

まず、ひとつめのカタマリです。
これは、ヘルプ画面のビューを管理するためのコントローラを作成しています。
initWithNibNameというメソッドで、Interfce Builder で作ったHelpViewController
が指定されているのがわかりますでしょうか?
これで、HelpViewController.xibファイルのビューが読み込まれています。

そしてふたつめ、
ヘルプ画面を表示するときに使用するアニメーションの効果を指定しています。
UIModalTransitionStyleFlipHorizontal
今回指定している↑は水平方向に回転して画面表示という意味で、
今回iPhoneは横向きで使用しているので縦向きに回転ということになります。

みっつめ、
これで実際にタイトル画面から、ヘルプ画面へ切替を行っています。
selfとは、このメソッドを記述しているGamePPoiViewControllerをあらわしています。
で、一つ目のカタマリで作ったcontroller を引数にして、
presentModalViewControllerメソッドを実行しています。アニメーション効果ありで。
これで、くるりんと画面の切り替えが行われます。

最後のよっつめ、
これはここで作って使っているヘルプ画面へのビューコントローラ(controller)を削除しています。
でもここで、直ちに削除するわけではないです。
これから使うものですので。。
これは、ヘルプ画面を表示し、またタイトル画面へ戻ってきたときに実行されるみたいです。
使わなくなった時の削除予約といったところでしょうか?

ヘルプ画面を閉じるときの実装は HelpViewController.mに以下を追加しました。

- (IBAction)showTitleView
{
    [self dismissModalViewControllerAnimated:YES];
}

これは1行で画面の切替が実現できていまいました。
なぜでしょう?
調べてみると、
今回の「タイトル画面」「ヘルプ画面」への切替というのは「ヘルプ画面」をモーダルビューとして表示していて、
元々作業していた画面に戻ってくるというものです。
元々作業していた画面とは「タイトル画面」のことですよね。
イメージ的には「タイトル画面」「ヘルプ画面」を一時的に表示したといったところでしょうか。
モーダルビューから元の画面に切り替えるにはモーダルビュー自身でdismissModalViewController:Animated:を実行すればよいらしいです。
つまり、画面を切替えるというより、画面を閉じるというほうがニュアンス的に近いんじゃないかな。

前述の実装内容には「Modal」という文字が何度かでてきていると思います。


どうでしょう?
なにかわかった気がしないでもなくもない。


では今日はこのあたりで~(ノ゚ο゚)ノ.




ランキングに参加しています。下のクリックお願いしますー(*゚ー゚*)

にほんブログ村 IT技術ブログ iPhoneアプリ開発へ

にほんブログ村 携帯ブログ iPhoneへ