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