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