[Swift]特定のタブを表示したときだけtabBarを非表示にする
この記事は3年以上前の記事です。情報が古い場合がありますのでお気を付け下さい。
久しぶりに技術ネタの投稿です。今回はSwift。
環境は
Xcode 8.2.1
Swift 3.0.2
です。
いくつかのサイトを見て、先行事例があったのでいくつか試してみました。
画面遷移したときに下部のタブバーを一時的に消す – swift life
http://swiftlife.hatenablog.jp/entry/2016/04/06/004516
特定のページだけTabBarを非表示にする – Qiita
http://qiita.com/kasamax/items/ce9a8f03eb4a826a6937
画面遷移時にUITabBarを隠す – Qiita
http://qiita.com/sl2/items/1647bdb7dfbc7e4937f2
大きく2種類の方法があるようでした。
1. 遷移時にコードで非表示にする
2. Storyboardで設定して非表示にする
しかし、何故か記載されている方法では非表示にできず・・
僕の環境だけなんでしょうか・・
結局、いろいろ試してみたところ、下記の方法で非表示にできました。
遷移先の ViewController の viewDidLoad()内 にて下記のコードを追加
self.tabBarController?.tabBar.isHidden = true;
これを記載するだけで、他のタブに遷移した際には元に戻って表示されました。
何だか気持ち悪い挙動ではありますが・・
Swiftはあんまりやってないけど、Objective-C よりは親しみやすいなーって思います。