Я хочу использовать кнопку переключения с помощью того, что я хочу получить доступ к oneViewController к secondViewController? - PullRequest
0 голосов
/ 22 января 2019

Я хочу использовать UISwitch из того, что при использовании isON он должен быть в ViewController1 isOFF, тогда он должен перейти к следующему ViewController. Может ли кто-нибудь помочь мне в этом?

import Foundation
import Firebase
import FirebaseAuth


class HomeViewController: UIViewController {
    @IBOutlet weak var citiPostSwitch:UISwitch!

    @IBAction func switchToCitiPost (switchState: UISwitch){
        if citiPostSwitch.isOn{
            print("your in ViewConroller 1")
            citiPostSwitch.setOn(false, animated: true)

        } else{
            citiPostSwitch.setOn(true, animated: true)
            print("your in ViewController 2")
        }
    }

    @IBAction func logOutAction(sender: AnyObject) {
        if Auth.auth().currentUser != nil {
            do {
                try Auth.auth().signOut()
                let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "SignUp")
                present(vc, animated: true, completion: nil)

            } catch let error as NSError {
                print(error.localizedDescription)
            }
        }
    }
}

1 Ответ

0 голосов
/ 22 января 2019

В вашей функции просто выключите переключатель этого и второго контроллера, в котором вы перемещаетесь.

@IBAction func switchToCitiPost (switchState: UISwitch){
    if citiPostSwitch.isOn {
        citiPostSwitch.setOn(false, animated: true)
        let vc = SecondViewController()
        vc.switch.setOn(false, animated: true)
        self.navigationController?.pushViewController(vc, animated: true)
    }
}

Когда вы придете к контроллеру, вы выключите его.

class SecondViewController: UIViewController {

    @IBOutlet weak var `switch`: UISwitch!
    override func viewDidLoad() {
        super.viewDidLoad()

        self.switch.addTarget(self, action: #selector(self.switchAction(_:)), for: .valueChanged)
    }

    @objc func switchAction(_ switchState: UISwitch) {
        self.navigationController?.popViewController(animated: true)
    }    
}

В SecondView Controller при переключении просто отключите или выдвиньте из контроллера. Надеюсь, это поможет

...