Обработка клавиатуры на представленном листе UIModalPresentationFormSheet

У меня есть UIViewController, который представлен с UIModalPresentationFormSheet. Таким образом, когда клавиатура видна, она остается видимой до тех пор, пока контроллер представления не будет отключен.

В этом UIViewController у меня есть контроллер навигации. Таким образом, в каждом UIViewController, отправленном на этот контроллер навигации, я должен проверить следующие вещи:

  • когда клавиатура показывает / скрывает, я должен настроить contentInset
  • когда появляется вид, я должен проверить, видна ли клавиатура или нет (навигационный контроллер запоминает это с уведомлением) и настроить contentInset. Я помещаю туда UITableViewControllers, поэтому я не получаю viewDidAppear и co. Так что я должен сделать все это с помощью методов UINavigationControllerDelegate?
  • на каждом повороте я должен сделать настроить contentInset

В противном случае клавиатура может покрывать некоторый контент.

Это правильная обработка? Нет ли более простого решения этой проблемы? Потому что это немного грязно!

1 ответ

Решение

Я не нашел лучшего решения, поэтому я сделал это таким образом.

Другие вопросы по тегам