【发布时间】:2018-09-21 09:33:56
【问题描述】:
我有一个带有两个开关控件的应用,可以根据它们的打开或关闭状态隐藏或显示一些文本字段。
问题是第一个开关似乎控制了第二个。
如果第一个开关关闭,则第二个开关也关闭。我希望他们彼此独立工作。 有什么建议吗?
谢谢大家
@IBAction func switchP(_ sender: UISwitch) {
if (sender.isOn == true) {
textFieldP.isHidden = false
} else {
textFieldP.isHidden = true
}
}
@IBAction func switchT(_ sender: UISwitch) {
if (sender.isOn == true) {
textFieldT.isHidden = false
} else {
textFieldT.isHidden = true
}
}
【问题讨论】:
-
显示您的 IBOutlet IBAction 连接,确保它们连接正确
-
情节提要中的 Action 连接配置不正确。
-
Swift != 切换
-
顺便说一句,
sender.isOn是Bool,因此无需针对true进行测试。只需if sender.isOn {。而且,如果这就是您的代码所做的全部,那么textFieldP.isHidden = !sender.isOn就是您所需要的。 -
注意:
== true是多余的,也不需要括号。正确的 Swift 形式是这样的:if sender.isOn {