原因是因为iOS15后,apple对导航栏的设置变了。
具体原因可以参考以下这些文章:
https://www.jianshu.com/p/23c1c4db3f2c
https://www.cnblogs.com/eric-zhangy1992/p/15571539.html
解决办法,需要自己针对iOS15对导航栏重新设置一遍颜色,这个是全局适配的。
if #available(iOS 15.0, *) {
let app = UINavigationBarAppearance()
app.configureWithOpaqueBackground() // 重置背景和阴影颜色
app.titleTextAttributes = [
NSAttributedString.Key.font: UIFont.systemFont(ofSize: 18),
NSAttributedString.Key.foregroundColor: kMainNavigationItemTintColor
]
app.backgroundColor = kMainNavigationBarColor// 设置导航栏背景色
app.shadowColor = .clear
app.backgroundEffect = nil
UINavigationBar.appearance().scrollEdgeAppearance = app // 带scroll滑动的页面
UINavigationBar.appearance().standardAppearance = app // 常规页面。描述导航栏以标准高度
}
网友评论