Я пытаюсь переключаться между кнопками UIReturnKeyGo и UIReturnKeyNext в зависимости от того, ввел ли пользователь какой-либо текст в поля или нет, но он работает не так, как я надеялся. Вот что я делаю.
Я создал следующий метод:
- (void)setReturnKey {
if (self.isLoggingIn) {
if ([self.userField.text length] > 0 ||
[self.passField.text length] > 0) {
self.userField.returnKeyType = UIReturnKeyGo;
self.passField.returnKeyType = UIReturnKeyGo;
} else {
self.userField.returnKeyType = UIReturnKeyNext;
self.passField.returnKeyType = UIReturnKeyNext;
}
}
}
Затем я добавил вышеупомянутый метод в метод делегата textFieldDidBeginEditing, который будет запускаться каждый раз, когда поле становится активным, и я создал метод textFieldDidChange, который выполняется всякий раз, когда текст вводится или удаляется. К сожалению, это не работает так, как я надеялся. Кнопка перехода появляется только тогда, когда оба поля заполнены, и вы активно нажимаете на другое поле, она не обновляется, когда вы начинаете печатать. Поэтому я могу ввести свое имя пользователя, затем нажать «Далее» и начать вводить свой пароль, но кнопка «Перейти» не появляется, когда я начинаю вводить свой пароль, она будет отображаться, только если я снова нажму на поле пользователя.
Есть идеи, что я делаю не так или есть лучший способ сделать это?