ある画面でボタンが押された時にステータスバーを隠しを隠す機能を実装したいのですが上手くいきません。
機種はiPhone5sと6[iOS9.3.5]で確認。
####試したこと
class ViewController: UIViewController { var statusBar: Bool = false override var prefersStatusBarHidden: Bool { return statusBar } @objc private func tapButton() { statusBar = true self.setNeedsStatusBarAppearanceUpdate() }
ステータスバーを隠したい画面を上記のように実装してみたのですが、
setNeedsStatusBarAppearanceUpdate()が実行されても、ステータスバーが隠れません。
(ボタンをタップするとtapButton()が毎回呼ばれていることを確認済み)
隠すために何か追加で記述しなければいけないのでしょうか?
####隠したい画面の場所
TabbarController
↓
NavigationController
↓
ViewController
↓ (画面遷移:Push)
ViewController(この画面でステータスバーを隠したい)
####追加確認事項
ViewControllerが1つだけある(画面数が1つ)プロジェクトを作成して、上記のコードを実行した場合はステータスバーが隠れました。
tabbarやnavigation辺りが間違えているのと考えるのがいいのでしょうか。