UITabBarController と UINavigationController について

この記事は2012年2月5日に書かれたものです。
現在は内容が古い可能性が高いのでご注意ください。

この二つを組み合わせて画面の上にナビゲーションバー、下にタブバーを表示させようとしたときにちょっと混乱したので整理しておく。

Window

– Tab Controller

– Navigation Controller

– View Controller

– VIew

– Navigation Controller

– View Controller

– View

上記のようにするとだいたい思った通りになる。全て Interface Builder (以下 IB) でまとめて作ってしまうといろいろ面倒なので、それぞれのタブに対応する View Controller クラスを作っておいて、Root View Controller の初期化のときに Navigation Controller で包んで Tab Bar Controller に突っ込むようにしてみた。

Xcode 3 の頃の情報だと IB を完全に排除しようと言う動きもあるようだけど、僕は使った方がわかりやすいので積極的に使ってる。
しかし Tab Bar Controller や Navigation Controller まで IB で作り込もうとすると逆に分かり辛くなってしまうこともあったので View Controller 以下のデザインに止めている。

シェアする

フォローする