SwiftのUIViewControllerでタブバーを隠すには
self.tabBarController?.tabBar.isHidden = true
とする。海外の一部サイトでhidesBottomBarWhenPushedを使った解説もあるが、Swift 4〜では上のコードで問題ない。
ナビゲーションで戻るとタブバーが隠れたままになる問題
ナビゲーションで画面遷移している場合、上のコードは不完全である。タブバーを隠した後、戻るボタンで一つ前の画面を表示すると、その画面でもタブバーが隠れたままになる。
例えばAからBに遷移する状況で、Aはタブバーを表示し、Bはタブバーを表示しないとする。
A → B
A: show
B: hide
Bで上のコードを書くと、BからAに戻ったとき、Aでもタブバーが隠れてしまう。そこでAのviewWillAppearで
self.tabBarController?.tabBar.isHidden = false
を書く。