【Swift】トップ画面でのみ、ナビゲーションを非表示にする方法

記事内に商品プロモーションを含む場合があります

ナビゲーションコントローラーを使うことで、ナビゲーションを表示できますが、全ての画面に表示されてしまうので、画面によっては見栄えば悪くなることもありますよね。

特にトップ画面にナビゲーションは不要な場合が多いので、今回はトップ画面でナビゲーションを非表示にする方法について紹介します。

トップ画面(ナビゲーション無し)

別の画面(ナビゲーション有り)

トップ画面でナビゲーションを非表示にする方法

方法といっても簡単でトップ画面に以下の「追加」のコードを記述します。

import UIKit

class WelcomeViewController: UIViewController {

  // 追加
  override func viewWillAppear(_ animated: Bool) {
    super.viewWillAppear(animated)
    navigationController?.isNavigationBarHidden = true
  }

  // 追加
  override func viewWillDisappear(_ animated: Bool) {
    super.viewWillDisappear(animated)
    navigationController?.isNavigationBarHidden = false
  }

  override func viewDidLoad() {
    super.viewDidLoad()
  }
}

まず、viewWillAppear()で、画面の表示タイミングと同時にナビゲーションを非表示にしています。

しかし、これだけですと、次の画面に行った時もナビゲーションが表示されません。

そこで、トップ画面から別画面へ切替わるタイミング、つまりviewWillDisappear()で、ナビゲーションを表示しにしています。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA