用户登录后清除密码文本字段

时间:2018-08-16 16:35:54

标签: ios swift login firebase-authentication uitextfield

如果用户登录,然后立即注销,则密码文本字段仍将填充其密码。但是为了安全起见,我想让他们不得不重新输入密码。我正在使用Firebase身份验证

Auth.auth().signIn(withEmail: emailTF.text!, password: passwordTF.text!) { (user, error) in
        if error == nil && user != nil {
            print("Successful Login!")
            self.passwordTF.text = nil
        } else {
            print("Error logging in: \(error!.localizedDescription)")
        }

这是我到目前为止的内容,它清空了文本字段,但是有一个问题。有一个功能可以检查用户名或密码文本字段是否为空。如果其中之一是禁用登录按钮。使用这种清空文本字段的方法,禁用登录按钮的功能不再起作用。用户退出后,密码文本字段为空,但已启用登录按钮,但不应启用。

@objc func editingChanged() {
    if emailTF.text!.isEmpty || passwordTF.text!.isEmpty {
        loginButton.isEnabled = false
        loginButton.alpha = 0.5
        //print("Email and password fields NOT FILLED in")
    } else {
        loginButton.alpha = 1
        loginButton.isEnabled = true
        //print("Email and password field FILLED in")
    }
}

1 个答案:

答案 0 :(得分:0)

更改此行

self.passwordTF.text = ""

它将总是有回报的,这样可以避免在代码中强制展开变量:

@objc func editingChanged() {
    guard let email = emailTF.text, let password = passwordTF.text else {
        return
    }
    if email.isEmpty || password.isEmpty {
    //rest of your code
}

,并确保您在editingChanged()中致电viewDidAppear()

相关问题