Обработка клавиатуры на представленном листе UIModalPresentationFormSheet
У меня есть UIViewController, который представлен с UIModalPresentationFormSheet. Таким образом, когда клавиатура видна, она остается видимой до тех пор, пока контроллер представления не будет отключен.
В этом UIViewController у меня есть контроллер навигации. Таким образом, в каждом UIViewController, отправленном на этот контроллер навигации, я должен проверить следующие вещи:
- когда клавиатура показывает / скрывает, я должен настроить contentInset
- когда появляется вид, я должен проверить, видна ли клавиатура или нет (навигационный контроллер запоминает это с уведомлением) и настроить contentInset. Я помещаю туда UITableViewControllers, поэтому я не получаю viewDidAppear и co. Так что я должен сделать все это с помощью методов UINavigationControllerDelegate?
- на каждом повороте я должен сделать настроить contentInset
В противном случае клавиатура может покрывать некоторый контент.
Это правильная обработка? Нет ли более простого решения этой проблемы? Потому что это немного грязно!
1 ответ
Решение
Я не нашел лучшего решения, поэтому я сделал это таким образом.