このページは「iPhoneプログラミング入門」(工学社刊、ISBN 978-4-7775-1541-7)を読んで、もっと先へ進んでみたいと思った人への説明です。
次へ->
<-前へ
-->
「次の一歩」一覧へ
自分で作るナビゲーション2
ZeroNavAppDelegateを編集
ヘッダファイル
ヘッダファイルZeroNavAppDelegate.hを編集して、プロパティnavigationController...いや、名前長いですから、navControllerにしましょう。
実はこれ、簡単です。今のヘッダファイルは「ただのビューコントローラ」仕様の内容になっています。そこで、「ZeroNavViewController」クラスのプロパティviewControllerが作成されています(スミマセン、このへんは本書を参照してください)
これを「UINavigationController」クラスのプロパティ「navController」にすればいいのです。
ゆえに、「ZeronavViewController」を「UINavigationController」に置き換えます。
もひとつ、「viewController」を「navController」に置き換えます。
そして、以下の表記がいらなくなります。
@class ZeroNavViewController;
編集したら、保存します。
実装ファイル
実装ファイルZeroNavAppDelegate.mは、もっと簡単です。「viewController」を「navController」に置き換えるだけです。別にviewControllerという名前のままでもいいのですが、これがナビゲーションコントローラであることをハッキリさせるために名前を変更したのです。
これも保存します。
Navigation Controllerの設定(3/3) MainWindow.xibの最後の仕上げ
Navigation ControllerとZeroNav App Delegate間で連結
「ZeroNavAppDelegate」に導入したプロパティnavControllerと、MainWindow.xibのオブジェクトNavigation Controllerを結びつけます。
ビューコントローラをナビゲーションコントローラと混同しないように選び出すのは結構微妙でしたが、ナビゲーションコントローラのほうを正確に選ぶのは簡単です。ドキュメントウィンドウのほうに、「Navigation Controller」のアイコンがありますからそれを選べばいいのです。右クリックして、コネクションパネルを出します。
「New Referencing Outlet」の連結点から「ZeroNav App Delegate」のアイコンへ、マウス操作でひものようなものを引っ張ります。「File's Owner」のアイコンではないので注意しましょう。MainWindow.xibではオブジェクトの連結先はFile's Owner(アプリケーション本体)ではなく「App Delegate」であるということを、本書では確認だけしました。今回、実際に作業してみたわけです。
連結先のアイコン「ZeroNav App Delegate」に「navController」という選択肢が出たらそれを選択します。これで連結完了です。
ビルド・実行してみましょう。ボタンのひとつある「ZeroNavViewControllerのビュー」が表示され、かつ上部には「Root View Controller」と書いてある灰色のバーが表示されていれば成功です。でも、ボタンをクリックしても何も起こりません。起こらなくて結構、落ちたら大変です。ボタンクリックの動作は、これからZeroNavViewControllerクラスの中で定義するのです。
図7 画面が青色なのは、NIBファイルで背景色を設定してみたからです。灰色でも全く問題ありません。
。