ios - UISwitch 似乎没有显示正确的状态

标签 ios swift uiswitch

我在一个页面上有四个 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/

相关文章:

ios - 如何解释在 firebase 中没有完全符号化的崩溃报告?

ios - 在swift中找到数据时如何退出while循环?

ios - 从在线数据库填充 UICollectionView

ios - 从 NSUserDefaults 加载 UISwitch 的状态

iOS - 如何以编程方式向 UITableView 添加两行开关?

iphone - UISwitch 值在 UITableView 中被回收

IOS Swift Google place API 如何自定义placePicker

ios - 来自 YouTube API 的 VEVO 视频在 iOS 上的播放受到限制

ios - 在ios中修改GSM DATA

swift - iOS 通过蓝牙获取附近的设备(iPad 和 iPhone)列表