iOS 15后设置导航控制器的导航条背景色无效的问题处理

IOS15+修改了导航条的使用方式:

  1. 如果有滚动控件的存在,比如UIScrollView存在,那么导航条默认会是透明,滚动的时候,才会显示设置的颜色。
  2. 修改设置方式,必须要设置navigationBar的appearance才会生效背景色。
  let appearance = UINavigationBarAppearance()
        appearance.configureWithOpaqueBackground()
        appearance.backgroundColor = UIColor.systemGreen;
        navigationController?.navigationBar.standardAppearance = appearance
        navigationController?.navigationBar.scrollEdgeAppearance = appearance;

这样可以禁用滚动变色的默认行为,让滚动和政策状态下,导航条都是一个颜色。如果不考虑iOS 15以下的用户,那么直接就这样设置就可以了。

posted on 2023-03-14 23:34  快乐海盗  阅读(421)  评论(0编辑  收藏  举报