我在一个页面上有四个 UISwitch。 我正在测试 AnimalSwitch 以查看其是否有效。 默认情况下它是打开的,当我关闭它并转到不同的 View Controller 并返回时,测试标签显示它仍然关闭,但开关图像显示它是打开的。 这是我试图更改的 Switch 的代码(其他的我一直保持不变,直到我修复了这个)。 其他开关的名称相同,只是“Animal”一词发生了变化。
let defaults = UserDefaults.standard
AnimalSwitch.setOn(true, animated: true)
if (defaults.object(forKey: "AnimalswitchState") != nil) {
AnimalSwitch.isOn = defaults.bool(forKey: "AnimalswitchState")
print("switched")
}
最佳答案
您确定 userDefaults
已更新吗?请记住,您需要 synchronize()
才能应用更改。而且,你什么时候更新开关和标签?您应该使用开关的事件值更改来更新标签。
关于ios - UISwitch 似乎没有显示正确的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39744648/