ユーザインタフェースの見栄えや仕組みがアプリケーションの質を左右するというので,UINavigationController を使いこなせるように試してみました.今まで使ったこと無かったんですけど(えぇぇ!!今更っ),便利ですねぇ.ざっとやり方を自分用にメモしておきます.もっと細かく書いてある人もいるので探してみるとよいでしょう.

Xcode
•~AppDelegate.hにUINavigationControllerクラスのインスタンス変数を追加(*naviControllerとしておきましょう)
•~AppDelegate.m内の[window addSubview:viewController.view]の代わりに[window addSubview:naviController.view]を記入

InterfaceBuilder
•MainWindow.xib内にUINavigationControllerを追加
•UINavigationController内のroot view Controllerを削除
•代わりに元々あった~ViewControllerを追加
•無い場合はUIViewController追加してクラスをインスペクタのClass Identityで自分が作成した~ViewControllerに指定(xibファイルを持つ場合はNIB Name を記入しましょう)
•Xcodeで~AppDelegate.hに追加したnaviControllerとUINavigationControllerをバインド(関連づけ)します


ココまでの手順でNavigationBarが表示されるようになります.
次にアイテムボタンを自動的に作成してくれるやり方を記述します.

Xcode
•~ViewController.hに次のUIViewControllerを保持するインスタンス変数を容易
•~ViewController.mの初期化時(id)initにself.title = @"title"でタイトルを任意に変更
•-(void)viewDidLoadにボタン作成を記入
  •[super viewDidLoad]と self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]
        initWithTitle:@"next"
        style:UIBarButtonItemStylePlain
        target:self
        action:@selector(button:)] autorelease]を追加
•ボタン作成時に記入した@selectorのbuttonメソッドを作成(ボタンが押された時の動作)
  •用意したUIViewControllerのインスタンス変数をallocする
  •プッシュされるViewControllerをpushViewControllerに引き渡し
    •[[self navigationController] pushViewController:nextViewController
animated:YES]を追加する

InterfaceBuilder
•各UIViewControllerのインタフェースで必要になったらアイテムを随時追加



UINavigationController内に含まれるUIViewControllerにはNaviBarのアイテムが自動的に付加されます.アイテムの自動付加はとても便利なのでやっぱり実際に書いてみて勉強するとありがたさが実感できます.
今後,ちょくちょくノートしていきます.


navitest.zip

0 Comments: