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

メイドインジャパンとiPad、どこが違う? 世界で勝てるデジタル家電 感想

西田宗千佳氏の本はいつも面白い。 今回も予想に違わず面白かった。 自分も同じような情報は知っているは

記事を読む

no image

iOS7 から導入されるキッズカテゴリーにアプリを載せるための作業をしてみる

News and Announcements for Apple Developers でア

記事を読む

no image

スマートフォン手袋を買ってみた 2011

去年買ったスマートフォン用手袋は石油くさくてかなりつらい思いをしながら使ってましたが、今年もこりず

記事を読む

MacOS Yosemite に Pebble SDK 3.0 をインストールする

Pebble Timeが届いたので、早速 Pebble SDK 3.0 をMacBook P

記事を読む

これは楽しそう。ズボンでドラム演奏 DRUMPANTS

こんな楽しげなデバイスが2014年にKickstarterにでていたらしい。 新しい楽器?ドラムを

記事を読む

[WatchKit] Apple WatchアプリをRejectされた話

Apple Watch はいつの間にか電池がかなり減っていることが多く、いつどのように減っているか知

記事を読む

no image

iPhoneアプリ おんぷちゃん開発日記 和音表示

自分の娘のために作った五線譜学習アプリ「おんぷちゃん」の開発を細々と続けている。 iPadのグランド

記事を読む

no image

[iOS SDK] モーダル表示したViewController を取得する

UIViewControllerの presentViewController:animated:c

記事を読む

no image

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

NSURLConnection の -[NSURLConnection initWithReque

記事を読む

MacFan 2017年5月号でアプリ紹介されました

Mac Fan 2017年5月号 でおんぷちゃん for iPad を紹介していただきました。ありが

記事を読む

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 ↑