Facebook и управление клавиатурной анимацией

Кто-нибудь знает, как реализовать composerBar и клавиатуру, как в мессенджере Facebook?

После прокрутки tableView вверх появляется клавиатура снизу плавно и без всяких прыжков. В моей аналогичной реализации это работает так: после прокрутки вверх, когда нижнее смещение tableView ‹ 0, текстовое поле ввода composerBar становится первым ответчиком, и клавиатура переходит на палец. Да, я использую UIScrollViewKeyboardDismissModeInteractive.

Как Facebook реализует эту плавную анимацию?

клавиатура

Редактировать: я пытаюсь объяснить, как это работает в Facebook Messenger, шаг за шагом.

У меня есть InputAccessoryView на моем viewController (TableViewController). Затем я начинаю прокручивать телевизор вверх (рис. 1)

введите здесь описание изображения

Затем, если нижняя вставка становится больше некоторого значения (например, 10) (рис. 2), я устанавливаю для firstResponder значение inputTextField (рис. 3)

введите здесь описание изображениявведите здесь описание изображения

Таким образом, в общем случае с «UIScrollViewKeyboardDismissModeInteractive» клавиатура переходит к положению пальца (рис. 4) введите здесь описание изображения

НО! В Facebook Messenger клавиатура тянется снизу на расстояние, равное расстоянию, пройденному пальцем. (рис. 5)

введите здесь описание изображения

Итак, мессенджер facebook каким-то образом контролирует движение клавиатуры. Вопрос: как???


person Stephen Kopylov    schedule 29.06.2015    source источник
comment
проверьте это github.com/oseparovic/MessageComposerView   -  person Eddwin Paz    schedule 30.06.2015
comment
или вы также можете попробовать это github.com/jmascia/DAKeyboardControl   -  person Eddwin Paz    schedule 30.06.2015
comment
@eddwinpaz Я пробовал, как я думаю, все эти фреймворки, но никто не может воссоздать такой функционал.   -  person Stephen Kopylov    schedule 30.06.2015
comment
Теперь я понимаю, что вы имеете в виду.   -  person Eddwin Paz    schedule 01.07.2015
comment
Спасибо, но - нет. Это просто адаптация вставок прокрутки для открытия/закрытия клавиатуры. Я также реализую такую ​​функцию в своем мессенджере. Чтобы понять о чем я - просто установите мессенджер FB и попробуйте прокрутить вверх любой диалог TableView.   -  person Stephen Kopylov    schedule 01.07.2015
comment
Вы когда-нибудь догадывались об этом?   -  person simme    schedule 02.03.2016
comment
@simme Нет. После многих попыток я просто оставляю это :(   -  person Stephen Kopylov    schedule 03.03.2016
comment
У вас есть решение?   -  person eric long    schedule 31.03.2017


Ответы (1)


То, что вы ищете, это Дополнительное представление ввода

Это свойство UITextView/UITextField, которое позволяет вам установить собственное представление, которое будет отображаться над системной клавиатурой.

person Nam Duong    schedule 29.06.2015
comment
Я тоже пользуюсь, спасибо. Но главный вопрос - как перетащить клавиатуру из нижнего угла без искажения анимации и прыжков в положение пальца. - person Stephen Kopylov; 30.06.2015