首先设置 Info.plist 里 View controller-based status bar appearance
设置为 YES
1. 启动页状态栏
2. 其他页面状态栏
- 先重写
UITabBarController
的childForStatusBarStyle
和UINavigationController
的childForStatusBarStyle
extension UITabBarController {
open override var childForStatusBarStyle: UIViewController? {
return selectedViewController?.childForStatusBarStyle ?? selectedViewController
}
}
extension UINavigationController {
open override var childForStatusBarStyle: UIViewController? {
return topViewController?.childForStatusBarStyle ?? topViewController
}
}
- 在
BaseVC
里重写preferredStatusBarStyle
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}