自从我将 Xcode 更新到版本 11/我的设备更新到 iOS 13 以来,我的导航栏背景颜色在使用大标题时更改为黑色: 大标题
奇怪的是,常规标题不会发生这种情况: 常规标题
我已经强制了浅色模式(因为我还没有将我的资产更新为暗模式(并检查了所有可用的界面选项。将导航栏背景颜色设置为白色时,状态栏仍然保持黑色 - 我在这里做错了什么? 设置
提前感谢您的帮助。
在iOS 13
及更高版本中,默认情况下,大型字幕导航栏不包含背景材质或阴影。此外,当人们开始滚动内容时,大标题会过渡到标准标题
if #available(iOS 13.0, *) {
let appearance = UINavigationBarAppearance()
appearance.backgroundColor = .purple
appearance.titleTextAttributes = [.foregroundColor: UIColor.white]
appearance.largeTitleTextAttributes = [.foregroundColor: UIColor.white]
UINavigationBar.appearance().tintColor = .white
UINavigationBar.appearance().standardAppearance = appearance
UINavigationBar.appearance().compactAppearance = appearance
UINavigationBar.appearance().scrollEdgeAppearance = appearance
} else {
UINavigationBar.appearance().tintColor = .white
UINavigationBar.appearance().barTintColor = .purple
UINavigationBar.appearance().isTranslucent = false
}
您也可以参考以下解决方案
在 iOS13 中,状态栏背景颜色与大文本模式下的导航栏不同