Я хочу resignFirstResponder()
для одного textField
, только если все textFields
заполнены. Однако по какой-то причине это не сработает. Независимо от того, заполнены ли другие, он проверяет только одного ответчика.resignFirstResponder только если заполнены все текстовые поля
Это то, что я пытаюсь сделать:
//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
}
Что я делаю неправильно?
Код в порядке. Я просто пробовал и работает. Я не уверен, что понял, что вы подразумеваете под «Независимо от того, заполнены ли другие, он проверяет только одного ответчика». Вы хотите сказать, что resignFirstResponder запускается только при фокусировке на confirmPasswordField? –
У меня есть 4 поля, и я хочу, чтобы последнее поле было первым ответчиком, только если все остальные заполнены. –
OK. Что случилось сейчас? Что произойдет, если у вас есть текст в текстовых полях 1,2, 3 и нажмите return перед вводом данных в 4? Что произойдет, если вы нажмете Return после ввода данных в 4? –