Я пытаюсь имитировать отношение UITextField
-keyboard в приложении Whatsapp. Как известно, в нижней части экрана есть фиксированный UITextField
, и клавиатура появляется, когда вы нажимаете UITextField
. Пока клавиатура подходит, UITextField
придерживайтесь клавиатуры, и они скользят вместе очень плавно.TextField не подталкивается плавно с клавиатуры, как в Whatsapp и Hangouts
Прочитайте страницы документации Apple, которые несколько раз переходят к просмотру под клавиатурой.
То, что я пытался до сих пор:
Слушал клавишные уведомления. Я использовал оба метода
setFrame:
иsetContentOffset:animated:
внутри блока анимации. Не работает так хорошо, как ожидалось. ЗначениеUIViewAnimationCurve
, которое имеет клавиатурная анимация, равно 7, я не мог найти, что это значит, посколькуUIViewAnimationCurve
имеет только 4 типа перечислений. Я думаю, что анимационная кривая анимации клавиатуры не предоставляется разработчикам, я надеюсь, что ошибаюсь.Использование пользовательского вводаAccessoryView с более низким значением индекса z. У меня было два точных
UIViews
, один из них фиксирован внизу, а другой - обычайinputAccessoryView
, который собирался спрятаться под фиксированным, так как он имеет нижнее значениеzPosition
. Поэтому пользователь не собирался видеть, чтоinputAccessoryView
выходил извне экрана, но фиксированный вид подталкивался клавиатурой. Но бесполезно, снова. Изменение значенияzPosition
ничего не меняет.
Наконец-то я подумал, что Whatsapp может не использовать системную клавиатуру, а обычную. Но если это так, это очень плохой выбор дизайна, чтобы исключить эту опцию.
Кто-нибудь имеет представление о том, как реализовано Whatsapp (или Hangouts)?
вы сделали мой день приятель !!! – thndrkiss