サンプルコードを漁ってるうちになんとかTableViewやNavigationControllerにどんなメソッドが必要か、どういうカスタマイズが可能か理解できるようになった(つもりな)ので、今日から、適当にサンプルコードを組み合わせて、作りたいアプリの骨組みを作ることにしました。イメージは4つのタブがあるTabBarを持っていて、2つのタブがユーザーがアクションを起こす機能を実装したもの、2つがアクションから得られたデータの管理画面という構成です。各タブに実装したい機能を学びながら少しずつ開発して行こうという(安易な)作戦です。
意気揚々と臨んでみましたが、あっさり壁にぶつかりました。
TabにNavigationControllerを入れるには?
TabBarの魅力って、各タブにNavigationControllerを入れ子にしたりできることだと、木下誠さんもiPhone SDK プログラミング大全のp171で
おっしゃってるので、そりゃ便利だと思って試したんですが、これがどうも結構難しいみたいですね。InterfaceBuilderでどうあがいても、いざ起動してみるとタブの中にNavigationバーが出てこない。真っ白い画面のままです。
XIBなしでべた書き
とりあえず白旗を揚げて、Googleさんに聞いてみたら、どうやらTabBar+NavigationControllerはxibを使って実現できないみたいなんですね。
xibを使わずに、"programatically"にやってくださいと"DevTeamOfOne"さんが回答されてます。(このかたはAppleのかたでしょうか。。。)実は、TabBarを扱っているTheElementsというサンプルコードを見ていたのですが、xibがないことには気づいていて、なぜにベタにコード書いてるんだろうなーぐらいの認識だったのです。その実、こういう理由だったんですね。上記URLには親切にサンプルコードまで載せてあるので、後ほど試してみようと思います。
というわけで、結果はまだ分かりませんがとりあえずメモしておきます。