tabBarControllerとUINavigationControllerを両立させよう!
本日はtabBarControllerとUINavigationControllerを両方使いたい場合の方法を説明します。
方法は簡単です。
tabBarControllerを先に追加して、
その子要素にUINavigationControllerを追加してください。
具体的に図で説明します。
1.storyboardでtabBarControllerを追加
XcodeメニューのEditor > Embed in > Tab Bar Controller を選択してください。
すると、下図のようにstoryboardにTab Bar Controllerが追加されます。
このままでは、tabBarにitem(項目)が1つしかないので、ViewControllerを追加しましょう。
2.ドラッグ&ドロップでstoryboardにUIViewControllerを追加
右メニューから View Controller をドラッグ&ドロップしましょう。
3.tabBarControllerと追加したUIViewControllerを紐付ける
Tab Bar Controller上でcontrolキーを押しながら、追加したView Controllerの方へ線を伸ばして紐付けます。
これにより、Tab Bar Controllerに1つ項目が増えて、View Controllerまでひも付けが伸びていることを確認できます。
続いて、UINavigationControllerを追加していきましょう。
4.子要素のView ControllerにUINavigationControllerを追加
UINavigationControllerを追加したいView Controllerを選択して、
XcodeメニューのEditor > Embed in > Navigation Controller を選択してください。
結果、Tab Bar ControllerとView Controllerの間にNavigation Controllerが追加されたことがわかると思います。
別の子要素のView ControllerにもNavigation Controllerが必要な場合は、
そのView Controllerに対して同じ操作を繰り返し実施してください。
storyboard上ではUINavigationControllerを先に追加して、
tabBarControllerを追加することもできます。
ですが、UINavigationControllerの戻るボタンの非表示やカスタム化などをしようとすると、
どうもうまくいきません…。
なので、一見無駄に見えるかもしれませんが、この方法を試してみることをオススメします。
本日はここまで。