解決方法對應的版本是swift4.2
剛開始,查閱資料,說需要重寫preferredStatusBarStyle方法,但是,沒卵用,后來又多發查找,發現需要重寫navbar中的方法,也是醉了,具體步驟如下:
一:找到項目targets的info.plist文件,將 View controller-based status bar appearance 設置為 NO
二:新建一個繼承自UINavigationController的navbar,重寫 childForStatusBarHidden 和 childForStatusBarStyle 方法
// 重寫這兩個方法
override var childForStatusBarHidden: UIViewController? {
return self.topViewController
}
override var childForStatusBarStyle: UIViewController? {
return self.topViewController
}
三、在需要改變狀態欄字體顏色的控制器中重寫 preferredStatusBarStyle 方法
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}