Почему клавиатура скрывается, когда я применяю пользовательскую анимацию push?
У меня есть два контроллера с UITextFields на них. Мне нужен пользовательский переход между ними с показанной клавиатурой, наряду с переходом.
Когда я использую push-анимацию по умолчанию, все хорошо. Но если я верну свой переходный класс из animationControllerForOperation
Клавиатура скрывается до и отображается после перехода.
Итак, кто-то может предложить мне решение или объяснение, почему клавиатура скрывается с пользовательским переходом? Продолжительность перехода = 0,4, я установил [textField becomeFirstResponder]
в viewDidLoad
,
Вот видео: https://www.youtube.com/watch?v=gs16tMsU4qY
2 ответа
Взгляните на класс UIViewControllerTransitionCoordinator.
Вот ответ на аналогичный вопрос: /questions/9248979/animirujte-klaviaturu-sinhronno-s-uiview-odnovremenno-smahivaya-kraya-nazad-v-ios7/9248987#9248987
РЕДАКТИРОВАТЬ
Или даже более простой способ:
реализация метода делегата - (BOOL) textFieldShouldEndEditing: (UITextField*) textField
из UITextField
и возвращение НЕТ, пока следующий VC еще не загружен...
Возможно, вы могли бы попытаться переопределить - (BOOL) canResignFirstResponder
метод UITextField
возвращать NO
пока представление нового контроллера представления еще не загружено. (установив BOOL
свойство, например, которое установлено в YES
когда новый вид контроллера представления загружен). лайк:
- (BOOL) canResignFirstResponder {
return nextVCIsLoaded;
}
возможно, это может помешать клавиатуре быть скрытой (это, кажется, происходит автоматически где-то в рамках операции "push").
Надеюсь, что этот подход помогает.