案例:我有2个UISwitch-Switch1和Switch2。
Switch1控制场景中UILabel的可见性。
一旦激活Switch2,将关闭Switch1及其可见性。

问题:激活Switch2后,Switch1会关闭并消失,但是我的UILabel在场景中仍然可见。

switch1.addTarget(self, action: #selector(switch1Action), for: UIControl.Event.valueChanged)
switch2.addTarget(self, action: #selector(switch2Action), for: UIControl.Event.valueChanged)


    @objc func switch1Action(switch1: UISwitch) {
        if switch1.isOn {

            lockedMessage.isHidden = false
            }
        if !switch1.isOn {

            lockedMessage.isHidden = true
        }
    }

    @objc func switch2Action(switch2: UISwitch) {

        if switch2.isOn {

            switch1.isOn = false
            switch1.isHidden = true

        }


非常感谢! :)

最佳答案

如果我正确理解了您的问题,那么似乎也希望在switch2也处于打开状态时,将lockedMessage隐藏。如果是这样,您可以在函数switch2Action中更改lockedMessage的可见性。

@objc func switch2Action(switch2: UISwitch) {

    if switch2.isOn {
        switch1.isOn = false
        switch1.isHidden = true
        lockedMessage.isHidden = true
    }

关于ios - 使用另一个UISwitch时如何更新一个UISwitch,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59040149/

10-12 21:28