iOS开发笔记-116:swift5,iOS15.适配导航栏全黑

2021-11-24  本文已影响0人  原味蛋炒饭

原因是因为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 // 常规页面。描述导航栏以标准高度
        }
上一篇 下一篇

猜你喜欢

热点阅读