gpt4 book ai didi

ios - 使用 Swift 离开 View Controller 后自动关闭

转载 作者:行者123 更新时间:2023-12-01 21:30:34 32 4
gpt4 key购买 nike

我在我的第一个 View Controller 中包含了一个开关,并使用以下代码来实现它的操作:-

class FirstViewController: UIViewController {

@IBOutlet weak var Image: UIImageView!
@IBOutlet weak var playerNum1Button: UIButton!
@IBOutlet weak var toggleSwitch: UISwitch!

override func viewDidLoad() {
super.viewDidLoad()
}


@IBAction func numPlayers1(_ sender: Any) {

performSegue(withIdentifier: "3to8segue", sender: self)


}
@IBAction func toggleSwitch(_ sender: Any) {

if (toggleSwitch.isOn == true) {

Image.image = UIImage(named: "Image1")

}
else {

Image.image = UIImage(named: "Image2")

}

}
当我打开第一个 View Controller 中的开关时,它工作得很好。但是,在我转到第二个 View Controller 并再次返回到第一个 View Controller 后,开关会自动关闭。有关如何解决此问题的任何帮助?感谢你的帮助!

最佳答案

如果您的 Switch 切换将取决于 API 响应请询问“toggleState” bool 值的额外键,然后在 API 响应中设置其状态。
否则将“toggleState”键保存在 UserDefault 中,如下所示:-

@IBAction func toggleSwitch(_ sender: UISwitch) {

if (toggleSwitch.isOn == true) {

Image.image = UIImage(named: "Image1")

}
else {

Image.image = UIImage(named: "Image2")

}

UserDefaults.standard.set(sender.isOn, forKey: "toggleState")

}
然后在 ViewController 的“ViewWillAppear”方法中添加以下代码
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)

self.toggleSwitch.setOn(UserDefaults.standard.bool(forKey: "toggleState"), animated: true)
}
}

关于ios - 使用 Swift 离开 View Controller 后自动关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63049329/

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