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;

UINavigationController *navigationController;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;

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

@synthesize navigationController;

に変更。

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

Cocoa Design Patterns

いまさらながら最近デザインパターンにはまっており、Cocoaでどんなデザインパターンが使われているの

記事を読む

PebbleアプリのPebble Time Round対応

BeforeAfter 丸くなったPebbleを初レビュー。ギークじゃなくても使えるスマートウォッチ

記事を読む

no image

いまさらながらXcode4導入 2011/06/29

Twitterを見ているといろいろ大変そうだったので敬遠していたXcode4だが、デバッグに便利そう

記事を読む

no image

WWDC 2010 開幕

去年と違って今年はすっかりTwitterが一般化しているので、WWDCに行く人たちの様子がよくわかる

記事を読む

Jony Ive: The Genius Behind Apple’s Greatest Products

Jony Ive: The Genius Behind Apple's Greatest Produ

記事を読む

Miselu C.24 日本でも12/16からSoftbankで発売開始

KickstarterでMiselu の iPad用キーボード C.24 に出資してみた |

記事を読む

no image

Xcode 設定しておくと便利なカスタマイズいろいろ

以前から Xcode はもう一歩使いにくいと思っていたが、iPhone アプリで稼げるのか でカスタ

記事を読む

no image

iPhone Developer Program Activation できず

昨日の朝iPhone Developer Program に加入したはずなのだが、夜になってもまだA

記事を読む

no image

[iOS] iOS6 から起動時に一度 Portraitになる挙動が変更された模様

iOS6 からは画面の回転関係の仕様が整理されたのか、いろいろと変更が入っている。 まず - (B

記事を読む

iOS上のJavaScript実行環境Scriptableを使ってみた

iOS上の JavaScript実行環境であるScriptable を使ってみた。 Scr

記事を読む

Message

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ember Mug 2のACアダプタをUSB Type-Cに変えてみた

冬になると活躍する Ember Mug 2 の充電器は付属のACアダ

Wi-Fi6Eルータ TP-Link AXE5400購入

Wi-Fi6E を試してみたくなり、TP-Link AXE5

児童手当 認定請求書申請 2024 「請求者が養育をする18歳に達する日以降の最初の3月31日までの子の数」とは?

2024年に受給していない人には手紙が届くらしい。 電子申請も

Vision Proアプリ開発本 8/24、8/26に発売

Vision Proアプリ開発入門 P400が 8/24 に発売、V

Developer Strap が日本でも購入可能に

USアカウントでしか購入できなかった Vision Pro 用 De

→もっと見る

PAGE TOP ↑