一畳のくつろぎタイム

このブログでは紹介する商品画像をAmazonアソシエイトより借りています。画像やリンクにはアフィリエイト広告が含まれる事があります

2016年3月4日金曜日

(iOS)コンテナビューコントローラーの扱い

コンテナビューコントローラは、代表的なものとしてナビゲーションコントローラーとタブバーコントローラーがあるが、この2つを組み合わせたインターフェスを作った場合の制限事項

appleのドキュメントにはタブビューコントローラーからナビゲーションコントローラーの説明はあるが、その逆がない。

tab -> navi -> viewcontroller1 -> viewcontroller2
|-> navi -> viewcontroller3 -> viewcontroller4

という構成は普通。

nav -> tab-> viewcontroller1 -> viewcontroller2
            |->  viewcontroller3 -> viewcontroller4

こういう構成は説明がない。

Storyboardで組んだ場合、 タブビューコントローラー以下のビューコントローラにはナビゲーションバーがつくが、コントロールできなくなる。

正しい構成としては

nav -> tab(modal) -> viewcontroller1 -> viewcontroller2
            |->  viewcontroller3 -> viewcontroller4

ナビゲーションコントローラからタブビューコントローラーを出す時にモーダルビューとして出す。
すると一度ビューコントローラ階層がリセットされるので、おかしくはならないがナビゲーションバーは消滅する。

ナビゲーションバーは面倒だが自分で設置して、とりあえず体裁は整った。