我正在创建一个允许用户更改主题的应用程序,例如。改变背景颜色。假设我有一个按钮,当点击时,切换背景颜色的变化。
EG。在代码中:
@IBAction func floodLightAction(sender: AnyObject) {
previousFloodlightOption = loadFloodlightOption()
if previousFloodlightOption {
print("OFF")
saveFloodlightOption(false)
// configure theme for themeViewController:
UIApplication.sharedApplication().statusBarStyle = .Default
setNeedsStatusBarAppearanceUpdate()
configureFloodlight(false)
} else {
print("ONN")
saveFloodlightOption(true)
// configure theme for themeViewController:
UIApplication.sharedApplication().statusBarStyle = .LightContent
setNeedsStatusBarAppearanceUpdate()
configureFloodlight(true)
}
但是,按下按钮时,setNeedsStatusBarAppearanceUpdate()似乎不会更新状态栏样式。我有一些自定义函数,如下所述。
我的自定义保存功能:
saveFloodlightOption(bool: Bool)
我的主题配置功能:
configureFloodLight(bool: Bool)
我希望我提供足够的信息,谢谢!
答案 0 :(得分:1)
您是否已在info.plist中将View Controller Based Status bar appearance
设为false
?