View-Based ApplicationにUINavigationControllerを追加する方法

公開日: : 最終更新日:2009/08/11 iPhone

(いろいろ間違っていたので 2009/05/13 更新)

(さらに 2009/08/08 更新)

これを書いた後に発売された、はじめてのiPhoneプログラミング(デイブ・マーク、ジェフ・ラマーチ、鮎川不二雄訳) の第9章「ナビゲーションコントローラとテーブルビュー」にかなりのページ数を割いてこのあたりの説明が書かれているので、そちらを参照した方がおそらく幸せ。

キャプチャ画像を使って書き直した記事はこちら

(ここからオリジナル記事)

iPhone SDK で、View-Based Application 設定でプロジェクトを開始してアプリを作って、後から設定画面を追加したくなった。

タイトルバーに「設定」ボタンを用意して、そこから設定画面を呼び出すようにしたい。

しかしそういう例がどこを探しても見つからなかったので、試行錯誤してようやくやり方を理解できた。

View-Based Application でプロジェクト作成。

次に、XXXAppDelegate.h の

XXViewController * viewController;

@property …. viewController;

に変更。
次に、XXXAppDelegate.m の @synthesize viewController; を

applicationDidFinishLaunching の
[window addSubview:viewController.view];

[window addSubview:navigationController.view];
に変更。

[viewController release];

[navigationController release];
に変更。一度ファイルの保存のためにビルドしてみる。

次に、MainWindow.xib をダブルクリックして、Interface Builder を開く。

XXXViewController は使わないので、削除する。

Library Window から、Navigation Controller を D&D する。

XXX App Delegate の navigationController から Navigation Controller にリンクを張る。

Xcodeに戻り、ファイル – 新規ファイル – User Interfaces から View XIB を選択して YYYViewController.xib を新規追加。(これが設定画面となる)

さらに、ファイル – 新規ファイル – Cocoa Touch Classes から UIViewController subclass を選択して YYYViewController.m を新規追加。

YYYViewController.xib をダブルクリックして Interface Builderで開く。

File’s Owner の Identity タブの Class Identity にYYYViewController を設定。

View と File’s Owner のもつOutletであるviewをリンクする。

最後に、XXXViewController.m の

viewDidLoad に

self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]initWithTitle:@”設定” style:UIBarButtonItemStylePlain target:self action:@selector(buttonPressed)]autorelease]; (navigationController上にボタンをのせるため)

-(void) buttonPressed {

[[self navigationController]pushViewController:[[YYYViewController alloc]init] animated:YES];

}

(ボタンが押された際に呼ばれて、UINavigationController に ViewController を pushViewController して設定画面を表示するようにする)

これくらい変更すると、最初に View-Based Application で作り始めたプロジェクトが UINavigationController 対応になっているはず。

ちなみに参考にしたのは下記のエリカ本と、HMDT本。双方参照して試行錯誤してようやく理解することができた。XcodeのコードとInterface Builderの関係がまだいまいち理解できていない。エリカ本ではInterface Builderは使わずほとんどをコードで書き下しているが、そのうち面倒になってInterface Builderを使わなくなったりするのだろうか。

iPhone デベロッパーズ クックブック
iPhone デベロッパーズ クックブック 株式会社クイープ

ソフトバンククリエイティブ 2009-02-12
売り上げランキング : 4407

おすすめ平均 star
star翻訳は?だが、内容はやはりよい
star翻訳に落胆
star中級者向け

Amazonで詳しく見る by G-Tools

自作アプリをApp Storeで世界に向けて販売できる!! iPhone SDKプログラミング大全 (MacPeople Books)
自作アプリをApp Storeで世界に向けて販売できる!! iPhone SDKプログラミング大全 (MacPeople Books) 木下 誠

アスキー・メディアワークス 2009-01-07
売り上げランキング : 1372

おすすめ平均 star
star読むだけではダメ
star副題が煽りすぎ
starビルドできない解説があります。

Amazonで詳しく見る by G-Tools

関連記事

no image

iPhone開発のネタ帳: コールアウト代用部品を作る

Map Kit を使うと、地図上に吹き出しのようなものを表示できる。この吹き出しのようなものをコ

記事を読む

Apple Special Event September 2018

今年も新型iPhoneを発表するアップルのスペシャルイベントが2018年9月13日2時AM(12日1

記事を読む

no image

電子書籍を出してみたよ! を買ってみた。

面白そうだったので買ってみた。電子出版に興味のある出版関係者で集まってKindle Storeで日本

記事を読む

no image

[iOS SDK本] Beginning iOS 5 Games Development

久しぶりにApress本を購入。 Beginning iOS 5 Games Developmen

記事を読む

Xcode6 Localization

久しぶりに新アプリを作っていて、完成が近づいてきたので最後にLocalizeを行っている。 た

記事を読む

no image

iPhone 3GS/4 で使える Bluetooth キーボード ELECOM TK-FBP017BK

フォローしている人のつぶやきで発見した記事で知ったキーボード。iPhone4ユーザー必携Blueto

記事を読む

no image

[iPhone UI本] Tapworthy (原書) iPhoneアプリ設計の極意 (翻訳)

O'Reilly から本を紹介するメールが来て、その中で目がとまって結局iPhoneアプリとして購入

記事を読む

no image

NSURLConnnection オブジェクトをいつ解放するか 2011/08/06

NSURLConnection の -[NSURLConnection initWithReque

記事を読む

no image

MacPeople 2012 5月号にはほしいガジェットがたくさん紹介されてる

定期購読しているMacPeopleの今月号(5月号)で面白い製品がたくさん紹介されていたのでメモを書

記事を読む

no image

SwitchEasy NUDE for iPhone5 を買ってみた。まだ様子見の方がよさそう

SwitchEasy NUDE for iPhone 5 UltraClearSwitchEasy

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

m5stack + MH-Z19B で CO2 濃度を測ってみた

テレワーク期間が長く続いているが、冷房をかけて閉め切った部屋

自動昇降機能付きデスクFLEXISPOT EJ2購入

今後もテレワークが長く続きそうなので、憧れだった自

Xcode 11.4からCatalinaが必須に

Catalina に関してはよい噂を聞かないので、なるべく移行を先送

Bluetooth MIDIキーボード KORG microKEY Airを買ってみた

以前から気になっていた、Bluetooth MIDI キーボード K

Ergohuman のオフィスチェアが気に入っている

コロナウィルスの影響で自宅勤務が数週間続いている。自分は自宅で開発環

→もっと見る

PAGE TOP ↑