Master-Detail template で tabBarController を追加する方法 (2)

やっぱりハマりました。Master-Detail template で、rootView が splitViewController になり、そこに tabBarController を追加したくてしたくてたまらなかったのですが、オレオレでやってみたら detail に画面遷移した折に navigationBar が表示されない事態に・・・それを回避するためいろいろ試してみたものの、さっぱり改善しません。

detail に navigationBar が表示されないと何が問題なのかというと、detail に遷移した後 master に戻れなくなってしまうのが難点。色々試してみたところ、ようやく解決しました。

まず、viewController の繋ぎ方ですが、splitViewController - navigationViewController - tabBarController の順で繋ぎます。前回は、splitViewController - tabBarController - navigationController の順でつないでいて、storyboard で確認した時点で navigationBar が表示されなくなっていた。navigationViewController を先にすると、storyboard で見ても明らかに navigation が表示されているので、これが正解なんだなと。よくわからないのが、メニューから embed を選んだら tabBar が先に来てしまうので、手動で繋ぎ買えてやる必要がある点。

ゴールまでには道のりが遠く、その後、appDelegate.m や materViewController.m を変更する必要がありますが、眠くなって来たのでまた次回書きたいと思います。