Резервирование места под клавиатуру - PullRequest
0 голосов
/ 01 мая 2018

Я знаком с тем, как получить фактическую высоту клавиатуры с помощью уведомлений, когда клавиатура появляется, исчезает или изменяется. Однако я хочу иметь вид чата внизу экрана и несколько кнопок над ним. Эти кнопки должны быть как можно ниже (из соображений удобства использования), но никогда не должны перемещаться, чтобы не закрываться клавиатурой и текстовым полем чата.

Другими словами, должна быть невидимая линия на высоте, на которой должна располагаться высота самой высокой клавиатуры + высота ввода текста, и кнопки должны быть выровнены по нижней части этой линии.

Проблема в том, что люди используют разные клавиатуры, имеющие разную высоту в зависимости от языка, устройства, версии iOS и настроек. Я мог бы добавить некоторые магические константы и надеяться, что между версиями iOS ничего не изменится, но я бы предпочел опрашивать ОС каким-то образом, чтобы вместо этого дать мне эту информацию, так что все просто автоматически обновляется между iPhone X, iPhone SE, iPads пейзажный портрет и так далее.

Как зарезервировать достаточно места для клавиатуры, прежде чем она будет отображаться?

1 Ответ

0 голосов
/ 01 мая 2018

По сути, вы не можете делать то, что описываете. Вы никогда не знаете высоту клавиатуры, которая появится, пока она не появится. И пользователь может изменить высоту клавиатуры после ее появления. Нет такой вещи, чтобы ваши кнопки были «как можно ниже (из соображений удобства использования), но никогда не должны двигаться, чтобы не быть покрытыми клавиатурой и текстовым полем чата». Они делают должны двигаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...