如何关闭弹出错误消息

时间:2016-12-02 20:49:15

标签: ios swift

我正在创建一个应用程序,当用户将文本字段留空或者没有使两个密码匹配时,将显示错误警报。

问题是当信息正确且两个密码匹配时,仍会显示错误警报。

代码如下:

//creating an action that will check when the sign up button is selected.

@IBAction func registerButtonTapped(_ sender: Any) {

    let userEmail = userEmailTextField.text;
    let userPassword = userPasswordTextField.text;
    let userRepeatPassword = repeatPasswordTextField.text;

    // if one of the fields is empty the user must repeat the password
    if ((userEmail?.isEmpty)! || (userPassword?.isEmpty)! || (userRepeatPassword != nil)) {

        //this is the alert pop up shown to the user.
        let alertController = UIAlertController(
            title: "Error!!!!!!",
            message: "Something Went Wrong, Try Again",
            preferredStyle: UIAlertControllerStyle.alert
        )

        let cancelAction = UIAlertAction(
            title: "Cancel",
            style: UIAlertActionStyle.destructive) { (action) in 

        }

        let confirmAction = UIAlertAction(
        title: "OK", style: UIAlertActionStyle.default) { (action) in

        }

        alertController.addAction(confirmAction)
        alertController.addAction(cancelAction)

        self.present(alertController, animated: true){ () -> Void in
            return;
        }
    }

func registerButtonTapped(_ sender: Any) {

    //check if password and repeat password are the same
    if (userPassword != userRepeatPassword) {

        //display an alert message, user will not be able to continue // not too sure if this works
        let alertController = UIAlertController(
            title: "Error!!!!!!",
            message: "Something Went Wrong Try Again",
            preferredStyle: UIAlertControllerStyle.alert
        )

        let cancelAction = UIAlertAction(
            title: "Cancel",
            style: UIAlertActionStyle.destructive) { (action) in

        }

        let confirmAction = UIAlertAction(
            title: "OK",
            style: UIAlertActionStyle.default) { (action) in

        }

        alertController.addAction(confirmAction)
        alertController.addAction(cancelAction)

        self.present(alertController, animated: true){ () -> Void in
            return;
        }

输入正确的信息后,用户应该能够看到一条确认帐户已创建的确认信息。

//display prompt message (confirmation)

//this will show a message to the user showing that the registration has been successful this is not working
func showAlert() {
    let alertController = UIAlertController(title: "Thank You", message: "Registration Has Been Completed. Thank You", preferredStyle: .alert)      

    let defaultAction = UIAlertAction(title: "OK", style: .default, handler: nil)

    alertController.addAction(defaultAction)

    self.present(alertController, animated: true){ () -> Void in
        return;
    }
}

这也没有出现。

1 个答案:

答案 0 :(得分:0)

我写了关于如何解决这个问题的全部内容。你可以从这里引用它

@IBOutlet var userNameField: UITextField!
@IBOutlet var passwordfield: UITextField!
@IBOutlet var confirmPasswordField: UITextField!

@IBAction func registerButtonTapped() {

    if userNameField.text == "" && passwordfield.text == "" && confirmPasswordField.text == "" {
        alertController(title: "Error", message: "One or more fields are missing", cancelTitle: "Try again!")
    } else {

        if passwordfield.text != confirmPasswordField.text {
            alertController(title: "Error", message: "Your passwords do not match", cancelTitle: "Try again!")
        } else {
            //switch views, or do whatever you want when the user correctly enters in their information
        }
    }

}

func alertController(title: String, message: String, cancelTitle: String) {


    let alertController = UIAlertController(title: title, message: message, preferredStyle: .alert)
    let cancelAction = UIAlertAction(title: cancelTitle, style: .cancel)

    alertController.addAction(cancelAction)
    self.present(alertController, animated: true, completion: nil)
}