最近项目涉及到不同的界面navigationView颜色不一样,因此要根据不同界面来调整statusbar字体颜色以下两种方法目前最为有效并且直接
1.UIApplication.shared.statusBarStyle = .default
通过修改UIApplication.shared.statusBarStyle
来改变颜色,.default为黑色 .lightContent为白色。但是目前这个方法在iOS 9之后被废弃掉了,指不定哪天就不能用了。而且强迫症对黄色⚠️不能忍。所以接下来的方法我觉得最为适合。
2.self.navigationController?.navigationBar.barStyle = .default
先在plist文件确认View controller-based status bar appearance属性是否存在,该属性不填默认为YES,如果存在请修改为YES。然后在对应需要修改调整颜色的控制器设置self.navigationController?.navigationBar.barStyle
self.navigationController?.navigationBar.barStyle = .default
(barStyle为白,则statusBar的字体颜色为黑)
self.navigationController?.navigationBar.barStyle = .black
(barStyle为黑,则statusBar的字体颜色为白)
结语:目前网上很多资料都是用的OC重写preferredStatusBarStyle方法来调整statusbar字体颜色,我在swift试了很多次,结果不理想。有通过swift实现的童鞋方便的话告诉我一下。
网友评论