Почему клавиатура скрывается, когда я применяю пользовательскую анимацию 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").

Надеюсь, что этот подход помогает.

Другие вопросы по тегам