在我的代码中,我目前有一个变量 dayTime
,如果它是's light outside and false if it'晚上是真的 . 因此,我的代码具有白天的白色方案和夜间的黑暗方案 . 如果 dayTime
为真,我需要我的状态栏为黑色,如果 dayTime
为假,我需要白色 . 目前,我设置 override var preferredStatusBarStyle()
返回 .lightContent
但我不知道如何调用 setNeedsStatusBarAppearanceUpdate()
将状态栏更改为黑色 .
EDIT: 从View Controller添加了代码
class BasicViewController: UIViewController {
var dayTime = true
override func viewDidLoad() {
super.viewDidLoad()
// gets current time to see if it is time to toggle night mode
let date = NSDate()
let calendar = Calendar.current
let components = calendar.dateComponents([.hour, .minute], from: date as Date)
let hour = components.hour
if(dayTime) {
setNeedsStatusBarAppearanceUpdate()
}
}
override var preferredStatusBarStyle: UIStatusBarStyle {
return .lightContent
}
}
1 回答
这就是我开始工作的方式 . 虽然我有一个异步任务,所以我可以看到它在任务完成后发生了变化 .