前提条件
- 当前控制器控制状态文字颜色
- 在info.plist里面设置了
View controller-based status bar appearance为YES - 在info.plist里面设置了
Status bar style为UIStatusBarStyleLightContent模式 - 在根导航控制器重载了下面方法
override var childViewControllerForStatusBarStyle: UIViewController?{
return self.visibleViewController
}
问题
当UIAlertControllerpresent控制器后状态栏变为default模式,如何修改状态栏的颜色为lightContent模式,如图
demo.png
给
UIAlertController扩展分类,重载preferredStatusBarStyle这个方法是无效的
extension UIAlertController{
// 无效
override open var preferredStatusBarStyle: UIStatusBarStyle{
return .lightContent
}
}
解决方法1
在根导航控制器中
override func viewDidLoad() {
super.viewDidLoad()
self.navigationBar.barStyle = .black
}









网友评论