首页 > 解决方案 > 如何使用条件 IF 打开新视图

问题描述

我想显示 new ViewController,就在 Text Fields 不为空或不相同时。总是当我单击将用户导航到下一个视图的按钮时,即使条件不满足,也要这样做。

@IBAction func nextButtonPressed(_ sender: Any) {
    self.performSegue(withIdentifier: "goToLastRegisterView", sender: self)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if usernameTextField.text == "" || passwordTextField.text == "" || confirmedPasswordTextField.text == "" {
        errorLabel.isHidden = false
        errorLabel.text = "All fields are required"
    }
    else{
        if passwordTextField.text == confirmedPasswordTextField.text{
            if segue.identifier == "goToLastRegisterView"{
                let secondRegisterVC = segue.destination as! RegisterSecondViewController
                secondRegisterVC.userName = usernameTextField.text!
                secondRegisterVC.password = passwordTextField.text!

            }
        }
        else{
            errorLabel.isHidden = false
            errorLabel.text = "Different passwords"
        }
    }
}

标签: iosswift

解决方案


如果您self.performSegue(withIdentifier:检查里面的 textfeilds 为时已晚,override func prepare(for您必须在按钮操作中进行

@IBAction func nextButtonPressed(_ sender: Any) {

    if usernameTextField.text == "" || passwordTextField.text == "" || confirmedPasswordTextField.text == "" {
        errorLabel.isHidden = false
        errorLabel.text = "All fields are required"
        return 
    }
    self.performSegue(withIdentifier: "goToLastRegisterView", sender: self)
}

推荐阅读