🦅
【Swift5/Xcode13】スクロールするとNavigationBarのテキストカラーが変わる
イメージ
こちらがスクロールする前です。
少しでも画面をスクロールするとこのようにNavigationBarのテキストカラー
が変更されてしまいます。
現在適用している設定(Xcode13/iOS15対応)
if #available(iOS 15.0, *) {
let appearance = UINavigationBarAppearance()
appearance.configureWithOpaqueBackground()
appearance.backgroundColor = dataManager.themeColor
navigationController?.navigationBar.standardAppearance = appearance
appearance.titleTextAttributes = [NSAttributedString.Key.foregroundColor: UIColor.white]
navigationController?.navigationBar.scrollEdgeAppearance = appearance
} else {
navigationController?.navigationBar.barTintColor = dataManager.themeColor
}
解決方法
スクロールされている時もNavigationBarの設定をappearance
で適用する場合は以下の1行も必要でした。
navigationController?.navigationBar.standardAppearance = appearance
解決後のイメージはこちらです。
無事スクロールしても適用されております。
参考
Discussion