PR
検証環境
- Xcode 12.2
- Swift 5.3.1
アプリ全体に反映させる場合
アプリ全体に反映させる場合は、AppDelegateのapplication(didFinishLaunchingWithOptions)に記載すると楽です。
//AppDelegate.swift
UINavigationBar.appearance().setBackgroundImage(UIImage(), for: .default)
UINavigationBar.appearance().shadowImage = UIImage()
UINavigationBar.appearance().backIndicatorImage = UIImage(named: "chevron.backward")?.withRenderingMode(.alwaysOriginal)
UINavigationBar.appearance().backIndicatorTransitionMaskImage = UIImage(named: "chevron.backward")?.withRenderingMode(.alwaysOriginal)
UINavigationBar.appearance().barTintColor = .black
UINavigationBar.appearance().tintColor = .white
UINavigationBar.appearance().titleTextAttributes = [ .foregroundColor: UIColor.white ]
UINavigationBar.appearance().isTranslucent = false
こんな感じで色や戻るのアイコンなど色々設定すると、アプリ全体に反映させることが出来ます。
ViewControllerごとに個別に設定する場合
色やアイコンを設定するときに、個別のViewContorller内で、”navigationCOntroller?.navigationBar”にプロパティを設定します。
//AppDelegate
UINavigationBar.appearance().tintColor = .white
//各ViewController
navigationController?.navigationBar.tintColor = .white
これで、特定のVIewControllerにのみ、NavigationBarの見た目を反映させることが出来ます。
UINavigationControllerを使用している前提ですが、UINavigationBar単体でstoryboardに貼り付けている場合は、そのUINavigationBarのプロパティを変更する必要があります。(が、そんな使い方はほぼないですよね?)
PR
PR