gpt4 book ai didi

ios - NSUserDefaults 切换开关在多任务处理后不粘

转载 作者:行者123 更新时间:2023-11-28 08:28:57 25 4
gpt4 key购买 nike

这是一个 tvOS 应用程序。我希望我的应用程序的背景根据设置中使用 NSUserDefaults 的切换开关进行更改。拨动开关称为“白色背景”,标识符为“whiteBackground”,默认为“NO”。

使用我当前的代码,它在用户单击主页、导航到“设置”并点击切换按钮时起作用。但是,如果用户双击主页按钮(应用程序后台),通过任务切换器导航到“设置”,然后通过任务切换器导航回应用程序,设置将被还原。

这是我的代码:

class ViewController: UIViewController {

func registerDefaultSettings() {
var appDefaults = ["whiteBackground": false]
NSUserDefaults.standardUserDefaults().registerDefaults(appDefaults)
}

override func viewDidLoad() {
super.viewDidLoad()

registerDefaultSettings()
uiSettings()

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.uiSettings), name: UIApplicationWillEnterForegroundNotification, object: nil)
}

func uiSettings() {
let defaults = NSUserDefaults.standardUserDefaults()
if defaults.boolForKey("whiteBackground") {
view.backgroundColor = UIColor.whiteColor()
} else {
view.backgroundColor = UIColor.blackColor()
}
}

最佳答案

不确定这样修复是否简单

override func viewWillAppear(animated: Bool) {
super.viewWillAppear(animated)

uiSettings()
}

关于ios - NSUserDefaults 切换开关在多任务处理后不粘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39310775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com