【发布时间】:2020-07-31 15:58:30
【问题描述】:
我正在创建一个应用程序,一旦用户按下同意按钮,我需要将 UISwitch 的值从 false 更改为 true。
因此,当用户单击按钮时,会出现一个涉及条款和条件的页面,并且当用户单击同意按钮时,页面上有两个按钮,一个是“不同意”,另一个是“同意”页面被关闭,这会将您带回之前的注册表单,并且需要将 UISwitch 从 false 更改为 true,显然,当单击不同意时,页面被关闭并且开关应保持为 false
这是我正在使用的代码,但我不确定它为什么不起作用:
我的 SignUpVC 类是否有以下内容:
我在哪里创建我的开关:
let termsAndConditionsBox: UISwitch = {
let switchA = UISwitch()
return switchA
}()
我用它来改变当我在这个类中调用函数时起作用的开关的值
func setAgreeSwitch(value: Bool) {
termsAndConditionsBox.isOn = value
}
但是当我通过以下方式调用上述函数将开关值更改为 true 时,它不起作用:
@objc func handleAgreeTapped() {
let signUpVC = SignUpVC()
signUpVC.setAgreeSwitch(value: true)
}
TermsAConditions 窃听代码:
@objc func TermsAndConditionsTapped() {
let termsAndConditions = TermsAndConditionsVC()
present(termsAndConditions, animated: true, completion: nil)
}
我该如何进行这项工作?
【问题讨论】:
-
你在哪里创建开关?视图控制器应该保持对它的引用,否则它将超出范围。
-
我在 SignUpVC 类中创建了开关,我正在尝试从 TermsAConditionsVC 类更改它