iOS15でNavigationBarとTabBarのカラーを変更する
はじめに
iOS14までは普通に動いていたのにiOS15だとNavigationBarとTabBarのカラーがおかしくなってしまったので調べてみました
NavigationBarについて
現行の書き方
UINavigationBar.appearance().barTintColor = .white
どうやらこの書き方ではダメのようです
iOS15以降ではUINavigationBarAppearance
を使って指定する必要があります
let appearance = UINavigationBarAppearance() appearance.backgroundColor = .white appearance.titileTextAttributes = [.foregroundColor: UIColor.black] // タイトル文字色の変更する場合 UINavigationBar.appearance().standardAppearance = appearance UINavigationBar.appearance().scrollEdgeAppearance = appearance
この書き方で正しく動作するようになりました
TabBarについて
TabBarのほうは特にカラーを変更するようなコードは書いてなかったんですがおかしくなりました。
iOS15では同様にUITabBarAppearance
を使って指定する必要があります
let appearance = UITabBarAppearance() appearance.backgroundColor = .white UITabBar.appearance().standardAppearance = appearance UITabBar.appearance().scrollEdgeAppearance = appearance
結論
これで無事にiOS15でもNavigationBarとTabBarのカラーが正しく出るようになりました。 良かった。