У меня есть ViewController
с 2 UITextField
элементами: Логин и Пароль. Я установил делегат для этих полей, который включает следующий код:
func textFieldShouldReturn(textField: UITextField) -> Bool {
if textField === self.loginField {
self.loginField.resignFirstResponder()
self.passwordField.becomeFirstResponder()
return false
}
return true
}
Эта логика должна переключать пользователя из текстового поля ввода на пароль, когда он нажимает кнопку "Далее" на клавиатуре. Но я застрял с глюком: после
self.passwordField.becomeFirstResponder()
текст в поле входа переместится в верхний левый угол и обратно. И что более странно: этот глюк воспроизводится только в первый раз, тогда вам нужно воссоздать ViewController
, чтобы наблюдать это поведение
Вот видео с глюком http://tinypic.com/player.php?v=6nsemw%3E&s=8#.VgVb3cuqpHx
Я закончил с этим:
func textFieldShouldReturn(textField: UITextField) -> Bool {
if textField === self.loginField {
self.loginField.resignFirstResponder()
// Shitty workaround. Hi, Apple!
self.loginField.setNeedsLayout()
self.loginField.layoutIfNeeded()
self.passwordField.becomeFirstResponder()
return false
}
return true
}