Search code examples
iosswiftuibuttonuiswitch

How to unhide the button after all switches in ON condition?


I have 2 UISwitch and a Button, in viewDidLoad, I set the button to be hidden and disabled, I want only my button to be not hidden if those 2 switch is in ON state, otherwise, I want my button to hide again. is there any method from UI Switch delegate that can be used ? how do I do that in Swift ?

here is the code I use

import UIKit

class AskingAuthorizationVC: UIViewController {

    @IBOutlet weak var locationSwitch: DesignableSwitch!
    @IBOutlet weak var notificationSwitch: DesignableSwitch!
    @IBOutlet weak var nextButton: DesignableButton!


    override func viewDidLoad() {
        super.viewDidLoad()

        // initial state
        nextButton.isHidden = true
        nextButton.isEnabled = false
        notificationSwitch.isOn = false
        locationSwitch.isOn = false


    }

    @IBAction func signUpButtonDidPressed(_ sender: Any) {
        performSegue(withIdentifier: "toAuthenticationVC", sender: nil)
    }


}

Solution

  • Hook both of the UISwitch-s as IBActions & IBOutlets

    @IBAction func oweSwitch(_ sender: UISwitch) {
    
        self.mybutton.isHidden = !(switch1.isOn && switch2.isOn)
    
    }