resignFirstResponder仅在所有textField都被填充时

时间:2016-11-08 15:47:42

标签: swift uitextfield

仅当所有resignFirstResponder()都已填满时,我才希望textField只有一个textFields。但由于某种原因,它不起作用。无论其他人是否被填补,它只会检查一个响应者。

这就是我想要做的事情:

//Check wheather fields are filled or not and then enable or disable register button
    func textChanged(_ sender: NSNotification) {
        if usernameField.hasText && emailField.hasText && passwordField.hasText && confirmPasswordField.hasText {
            registerButton.isEnabled = true
            confirmPasswordField.resignFirstResponder()
        }
        else {
            registerButton.isEnabled = false
        }
    }

我也尝试过:

func textFieldShouldReturn(textField: UITextField!) -> Bool {
        if usernameField.hasText && emailField.hasText && passwordField.hasText && confirmPasswordField.hasText {
        confirmPasswordField.resignFirstResponder()
            return true
        }
        return false
    }

我做错了什么?

1 个答案:

答案 0 :(得分:1)

这是我使用的代码

func textFieldShouldReturn(textField: UITextField) -> Bool {
    if text1.hasText() && text2.hasText() && text3.hasText() && text4.hasText(){
        registerButton.enabled = true
        text4.resignFirstResponder()
        return true
    }
    return false
}

我不确定你是怎么调用textChanged函数的,所以我无法弄清楚你想要做什么。

如果你想确保用户在填写text1,text2,text3之前无法移动到text4,那么请使用另一个if块来实现它。