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

タッチ!にほんちずHD Ver.1.1.0 Submit

タッチ!にほんちずHDのバージョンアップ版(Ver.1.1.0)を App Store に提出しまし

記事を読む

Photoshop のバッチ処理でiOSアプリアイコンを一括作成する

毎回苦労しているiOSのアプリアイコン作成。今回はPhotoshopのバッチで作成してみる。前回は 

記事を読む

大量のスクリーンショット取得作業を省力化する Sketch to AppStore vs LaunchKit

段々対応が必要な解像度が増えて、今は App Store にアプリSubmit時に4種類もスクリーン

記事を読む

no image

[iPhone SDK] 処理を遅延実行する方法

処理を少し遅らせて実行したいときがたまにある。 そういうときには、NSObjectの - (voi

記事を読む

[Xcode] iOS Developer Program 証明書の更新 2018

恒例の、年に一度の証明書の更新。今年はこのページを参照した。年に一度しか行わない作業だが、さすがに迷

記事を読む

KORG USB MIDIコントローラーnanoPAD2購入

2016年あけましておめでとうございます。以前から気になっていたKORG nanoPAD2 がタイム

記事を読む

no image

謎のエラー iPhone/iPod Touch: application executable is missing a required architecture

リズムくん Ver.1.1の App Store への Submit の際に、謎のエラー iPhon

記事を読む

iTunes Connect でアプリページを表示できない

いつからかわからないけれども、iTunes Connect で自分のアプリを表示できなくなってしまい

記事を読む

Reject 履歴 おんぷちゃん 1.9.1

iOS14からおんぷ先生と接続できない の修正のため、久しぶりにおんぷちゃんを更新したとこ

記事を読む

Reject履歴 EverLearn 1.7.0

どうやら Apple Watch対応アプリの審査は厳しいらしいので、Rejectされた履歴を書いてみ

記事を読む

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 ↑