このページは「iPhoneプログラミング入門」(工学社刊、ISBN 978-4-7775-1541-7)を読んで、もっと先へ進んでみたいと思った人への説明です。

次へ->
<-前へ
「次の一歩」一覧へ

最も簡単なモーダルビューの作り方3

InfoViewControllerクラスの編集

ヘッダファイル

InfoViewController.hに、OKボタンをクリックしたときに引っ込むアクションを追記します。名前は、okActionにしましょう。

実装ファイル

アクションokAction:の中身は、リスト2の通りです。
リスト2 モーダルビューの「親ビューコントローラ」がモーダルビューを引っ込めるようにする
-(IBAction)okAction:(id)sender{

	[self.parentViewController dismissModalViewControllerAnimated:YES];
}
リスト2では、InfoViewControllerオブジェクト自身であるselfのプロパティparentViewControllerを出しています。これは、ナビゲーションコントローラのことです。
そのナビゲーションコントローラについて、dismissModalViewControllerAnimated:メソッドを用います。この引数の値は、アニメーション化するかどうかだけであり、リスト2ではYESです。 dismissModalViewController:ではモーダルビューコントローラが「どれか」は指定しません。1回に立ち上がるモーダルビューは1個だけですから、指定しなくていいということなのでしょう。

プログラムとNIBファイルのアクションを結びつける

InfoViewController.xibを開きます。「OK」と表示したRound Rect Buttonを選択して、そのコネクション・パネルを出します。
Round Rect Buttonのイベント「Touch Up Inside」を、File's Ownerの okAction: メソッドと結びつけます。

NIBファイルも含めて全てのファイルを保存したら、ビルド・実行します。
今度は、モーダルビューの「OK」をクリックすると、ニュルンと引っ込むでしょう。


さて、これまでは作業を簡単にするために、「FirstModalViewController」は「ハリボテ」ということで使いませんでしたが、「FirstModalViewController」から「NextViewController」を「モーダルビューコントローラ」として呼び出すこともできます。コードを書くファイルと、コードの書き方が少しだけ違います。最後にそこを押さえておきましょう。

ビューコントローラからモーダルビューを呼び出す