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

関連記事

[iOS SDK] EverLearn 3Dタッチ対応

iPhone 7 Plus を購入したので、まずは EverLearn から、3Dタッチの対応を行い

記事を読む

no image

HTML5+CSS3で作る 魅せるiPhoneサイト

iPhone向けWebページの実例を使って、CSS+HTML5の使い方を説明してくれる本。 CS

記事を読む

no image

さらに薄いiPhoneケース SwitchEasy Nude Ultra Clear

以前 eggshell for iPhone クリアを購入したが、Homeボタンを押す際などに力が入

記事を読む

Apple Event 2016秋 See you on the 7th

2016秋のApple Eventは 2016/09/07(日本時間 9/8 2:00)に行われた。

記事を読む

no image

iPhone アプリアイコン設定

AppStore でアプリを売る一連の流れを知るために作っているアプリが大体できてきたので、ついにア

記事を読む

iOS14からおんぷ先生と接続できない

下記の問い合わせがあり、調べたところ、iOS14からおんぷちゃんとおんぷ先生がBluetoothで

記事を読む

no image

APNs のサーバー側をサポートしてくれる Urban Airship (APNs対応その2)

Apple Push Notification Service (APNs) はAppleのAPN

記事を読む

no image

[iOS SDK] QuickDialog を使ってみた

iOS オープンソースライブラリ徹底活用 菊田剛著 秀和システム | DevCafeJp で紹介さ

記事を読む

EverLearn 2.2.1 を公開しました

自作英単語学習アプリ EverLearn 2.2.1を公開しました。 ユーザの方から

記事を読む

[WatchKit] How to update complications

Apple Watch の文字盤上に、自分のアプリの情報を載せることができる仕組みが、Complic

記事を読む

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 ↑