1
我想調用視圖控制器中的viewDidLoad()函數來設置視圖控制器狀態欄的行爲。我想要狀態欄有3個行爲狀態:常規,保持光線,保持黑暗。使用枚舉執行一個函數?
// view controller view did load
override func viewDidLoad() {
super.viewDidLoad()
// status bar behavior
// call some function
setNeedsStatusBarAppearanceUpdate()
}
我對枚舉沒有太多經驗,所以請告訴我如何完成我想要完成的任務。最終,我只想調用viewDidLoad()中的一個函數,具體取決於該視圖控制器所需的狀態欄的行爲(常規,保持亮度,保持黑暗)。
enum statusBarBehavior {
case regular
case stayLight
case stayDark
func statusBar() {
switch self {
// changes status bar depending on a variable
case .regular:
if nightTime == true {
UIApplication.shared.statusBarStyle = .lightContent
} else {
UIApplication.shared.statusBarStyle = .default
}
// permanently keeps status bar light
case .stayLight:
UIApplication.shared.statusBarStyle = .lightContent
// permanently keeps status bar dark
case .stayDark:
UIApplication.shared.statusBarStyle = .default
}
}
}
非常感謝所有幫助。
它沒有爲我工作。我從來沒有運氣重寫preferredStatusBarStyle的狀態欄。相反,在viewDidLoad()我使用UIApplication.shared.statusBarStyle = .lightContent每次工作。讓我試着解決這個問題。 –