Xcode
iOS
swift4

Swift4でナビゲーションバーとステータスバーの色を変更する

やりたいこと

  • ナビゲーションバーの色を変えたい
  • ナビゲーションバーのテキストの文字色を変えたい
  • ステータスバーの色を変える

完成形

IMG_0354.jpg

コード

CASE1. 対象のViewControllerのみに適用したい場合

// HogeViewController
override viewDidLoad() {
    // ナビゲーションバーの背景色
    self.navigationController?.navigationBar.barTintColor = .blue
    // ナビゲーションバーのアイテムの色 (戻る < とか 読み込みゲージとか)
    self.navigationController?.navigationBar.tintColor = .white
    // ナビゲーションバーのテキストを変更する
    self.navigationController?.navigationBar.titleTextAttributes = [
    // 文字の色
        .foregroundColor: UIColor.white
    ]
}

CASE2. 全ViewControllerに適用したい場合

  1. MyUINavigationController.classを作成する

スクリーンショット 2018-02-18 15.05.12.png

スクリーンショット 2018-02-18 15.05.29.png

  1. storyboardのNavigationControllerと紐付ける

スクリーンショット 2018-02-18 15.04.40.png

  1. 以下のコードを記述する
// MyUINavigationController.class
override func viewDidLoad() {
        super.viewDidLoad()
        // ナビゲーションバーの背景色
        navigationBar.barTintColor = .deepSkyBlue
        // ナビゲーションバーのアイテムの色 (戻る < とか 読み込みゲージとか)
        navigationBar.tintColor = .white
        // ナビゲーションバーのテキストを変更する
        navigationBar.titleTextAttributes = [
            // 文字の色
            .foregroundColor: UIColor.white
        ]
        // Do any additional setup after loading the view.
    }