如何从 swift Xcode 中的不同 class 更改 UISwitch 的值?
How do i change the value of a UISwitch from a different class in swift Xcode?
我正在创建一个应用程序,我需要在用户按下同意按钮后将 UISwitch 的值从 false 更改为 true。
所以当用户点击一个按钮时,会出现一个涉及条款和条件的页面,页面上有两个按钮,一个是“不同意”,另一个是“同意”,当用户点击同意按钮页面被关闭,这会将您带回到之前的注册表单,并且需要将 UISwitch 从 false 更改为 true,显然当单击不同意时页面被关闭并且开关应保持在 false
这是我正在使用的代码,我不确定为什么它不起作用:
我的 SignUpVC class 我有以下内容:
我在哪里创建我的开关:
let termsAndConditionsBox: UISwitch = {
let switchA = UISwitch()
return switchA
}()
我用它来改变开关的值,当我调用这个class
中的函数时它起作用
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)
}
我该怎么做?
这个
let signUpVC = SignUpVC()
是一个新对象而不是呈现的 1 ,你需要一个内部委托 TermsAConditionsVC
weak var delegate:SignUpVC?
然后
@objc func handleAgreeTapped() {
delegate?.setAgreeSwitch(value: true)
}
另外不要忘记在导航到 TermsAConditionsVC
时设置 delegate
属性
termsAndConditions.delegate = self
present(termsAndConditions, animated: true, completion: nil)
我正在创建一个应用程序,我需要在用户按下同意按钮后将 UISwitch 的值从 false 更改为 true。
所以当用户点击一个按钮时,会出现一个涉及条款和条件的页面,页面上有两个按钮,一个是“不同意”,另一个是“同意”,当用户点击同意按钮页面被关闭,这会将您带回到之前的注册表单,并且需要将 UISwitch 从 false 更改为 true,显然当单击不同意时页面被关闭并且开关应保持在 false
这是我正在使用的代码,我不确定为什么它不起作用:
我的 SignUpVC class 我有以下内容:
我在哪里创建我的开关:
let termsAndConditionsBox: UISwitch = {
let switchA = UISwitch()
return switchA
}()
我用它来改变开关的值,当我调用这个class
中的函数时它起作用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)
}
我该怎么做?
这个
let signUpVC = SignUpVC()
是一个新对象而不是呈现的 1 ,你需要一个内部委托 TermsAConditionsVC
weak var delegate:SignUpVC?
然后
@objc func handleAgreeTapped() {
delegate?.setAgreeSwitch(value: true)
}
另外不要忘记在导航到 TermsAConditionsVC
delegate
属性
termsAndConditions.delegate = self
present(termsAndConditions, animated: true, completion: nil)