IOS15+修改了导航条的使用方式:
- 如果有滚动控件的存在,比如UIScrollView存在,那么导航条默认会是透明,滚动的时候,才会显示设置的颜色。
- 修改设置方式,必须要设置
navigationBar
的appearance才会生效背景色。
let appearance = UINavigationBarAppearance() appearance.configureWithOpaqueBackground() appearance.backgroundColor = UIColor.systemGreen; navigationController?.navigationBar.standardAppearance = appearance navigationController?.navigationBar.scrollEdgeAppearance = appearance;
这样可以禁用滚动变色的默认行为,让滚动和政策状态下,导航条都是一个颜色。如果不考虑iOS 15以下的用户,那么直接就这样设置就可以了。