0,在info.plist中,將View controller-based status bar appearance設爲YES,或者不添加這個key。
1,自定義導航欄控制器MyNavigationController繼承自UINavigationController
在MyNavigationController類中添加如下代碼:
override var preferredStatusBarStyle: UIStatusBarStyle {
let vc = self.topViewController
return vc!.preferredStatusBarStyle
}
2,自定義基礎控制器BaseViewController繼承自UIViewController
在BaseViewController類中添加如下代碼:
//在這裏全局設置狀態欄顏色
override var preferredStatusBarStyle: UIStatusBarStyle{
return .lightContent
}
3,其他新建的控制器ViewController繼承自BaseViewController。
4,在需要單獨修改狀態欄的控制器中的添加如下代碼即可:
override var preferredStatusBarStyle: UIStatusBarStyle{
return .default
}