У меня есть приложение для обмена сообщениями, которое имеет типичный дизайн пользовательского интерфейса текстового поля в нижней части полноэкранного представления таблицы. Я устанавливаю, что текстовое поле является контроллером представления inputAccessoryView
и вызывает ViewController.becomeFirstResponder()
, чтобы получить поле для отображения в нижней части экрана.
Я понимаю, что это рекомендуемый Apple способ выполнить эту структуру пользовательского интерфейса, и он отлично работает на "классических" устройствах, однако, когда я тестирую симулятор iPhone X, я замечаю, что, используя этот подход, текстовое поле не уважает новое "безопасные зоны". Текстовое поле отображается в самом низу экрана под индикатором домашнего экрана.
Я просмотрел документы HIG, но не нашел ничего полезного в отношении inputAccessoryView
на контроллере представления.
Это сложно, потому что, используя этот подход, я не контролирую прямо ни одно из ограничений, я просто устанавливаю inputAccessoryView
и позволяю контроллеру представления обрабатывать интерфейс оттуда. Поэтому я не могу просто ограничить поле в новых безопасных зонах.
Кто-нибудь нашел хорошую документацию по этому поводу или знает альтернативный подход, который хорошо работает на iPhone X?