改变状态栏颜色要分为两种情况
没有导航栏UINavigationBar
没有导航栏的情况下,我们需要在VC中重写 preferredStatusBarStyle 可读属性,让后再调用setNeedsStatusBarAppearanceUpdate()方法去触发修改导航栏颜色的方法。
override var preferredStatusBarStyle: UIStatusBarStyle {
return UIStatusBarStyle.lightContent
}
override func viewDidLoad() {
super.viewDidLoad()
setNeedsStatusBarAppearanceUpdate()
}
有导航栏
有导航栏的话,状态栏字体颜色时取决与NavigationBar的barStyle属性的,重写preferredStatusBarStyle是不会生效的。
当navigationBar.barStyle = .default时状态栏的颜色为黑色
当navigationBar.barStyle = .black时状态栏的颜色为白色