网上一大堆,妈的全扯淡
这里就针对修改某个控制器的状态栏说明,且该VC有自带的导航栏:
ios9.0后遗弃了 application.statusBarStyle = .lightContent
,所以,不使用这个
设置步骤
info.plist中添加
View controller-based status bar appearance
,必须为YES,VC中添加代码
import UIKit
class HomeViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
setNavbar()
}
//MARK: - 设置导航栏
private func setNavbar(){
//设置导航栏为红色
navigationController?.navigationBar.setBackgroundImage(UIImage(named: "navImg"), for: .default)
//设置状态栏还是保持白色
//重写系统属性
navigationController?.navigationBar.barStyle = .black
}
override var preferredStatusBarStyle: UIStatusBarStyle{
if #available(iOS 13.0, *) {
return .darkContent
} else {
return .lightContent
}
}
}