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