如何从 SWIFT 3 中的另一个 ViewController 检查 UISwitch 的状态?
Posted
技术标签:
【中文标题】如何从 SWIFT 3 中的另一个 ViewController 检查 UISwitch 的状态?【英文标题】:How to check the state of an UISwitch from another ViewController in SWIFT 3? 【发布时间】:2016-08-07 06:51:40 【问题描述】:我想从另一个View Controller
检查UISwitch
的状态。如果switch
是on
,那么我希望View
的backgroundColor
是红色的,否则它应该是绿色的。我尝试使用UserDefaults
,但我不知道从什么开始。任何帮助将不胜感激!
【问题讨论】:
视图控制器会同时处于活动状态吗? 【参考方案1】:注意:这是 SWIFT 3 的版本:
首先,我将switch
的initial state
设置为关闭。我添加了一个按钮,它将我们带到 secondViewController 并检查开关的状态。这是我的代码(用于包含开关的视图控制器):
@IBOutlet weak var switch1: UISwitch!
let defaults = UserDefaults.standard
var switchON : Bool = false
@IBAction func checkState(_ sender: AnyObject)
if switch1.isOn
switchON = true
defaults.set(switchON, forKey: "switchON")
if switch1.isOn == false
switchON = false
defaults.set(switchON, forKey: "switchON")
对于secondView
:
let defaults = UserDefaults.standard
override func viewDidLoad()
super.viewDidLoad()
if defaults.value(forKey: "switchON") != nil
let switchON: Bool = defaults.value(forKey: "switchON") as! Bool
if switchON == true
self.view.backgroundColor = UIColor.red()
else if switchON == false
self.view.backgroundColor = UIColor.green()
【讨论】:
谢谢,这正是我要找的!以上是关于如何从 SWIFT 3 中的另一个 ViewController 检查 UISwitch 的状态?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Swift SpriteKit 中的另一个 SKScene 访问变量
如何将数据从 Playground 页面传递到 Swift Playgrounds 中的另一个 Playground 页面?