要旨
この画像のようにNavigationController
を作って、NavigationBar
の色、タイトルの色、時間表示や電池表示の色を変更する方法を紹介します。
手順
XcodeでSingle View Appを作成した状態からスタートします。
XcodeのMain.storyboard
を表示した状態で、Editor > Embed in > Navigation Controller と選択します。
そうすると、Navigation Controllerが追加されると思います。
次にNavigation ItemをView Controllerの画面にドラッグ&ドロップします。すると、タイトルが表示されるようになります。
で、このナビゲーションバーの色を変更したいわけなのですが、色の指定はソースコードに記述します。
ViewController.swift
のviewDidLoad()
メソッドの中に、以下のように記述します。
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController!.navigationBar.barStyle = .black
self.navigationController!.navigationBar.barTintColor = #colorLiteral(red: 0.1725490196, green: 0.1725490196, blue: 0.1725490196, alpha: 1)
self.navigationController!.navigationBar.tintColor = .white
self.navigationController!.navigationBar.titleTextAttributes = [
.foregroundColor: UIColor.white
]
}
}
それぞれのパラメーターは下の画像のようになっています。tintColor
はこちらのリンクにあるように、ナビゲーションアイテムの色を変えるパラメーターのようです。
色の指定は.white
、.blue
のように指定もできるし、#colorLiteral(red: green: blue: alpha:)
のように指定するとカラーパレットが開けて細かく色指定することもできます。
barStyle
については、default
(何も指定しない)、black
、blackTrunslucent
の3つから選べます。
blackTrunslucent
の場合はこうなります。black
と変わらないですね。。。スクロールしたら背景が透けるのかと思ったのですが、そうでもないみたいです。ごめんなさい。ここはよくわからないです。
ここまで読んでいただいてありがとうございました。