Как я могу определить, сколько модального VC покрыто клавиатурой на iPad? - PullRequest
0 голосов
/ 03 апреля 2012

У меня есть модальный контроллер вида, который я представляю на iPad через:

vc.modalPresentationStyle  = UIModalPresentationFormSheet;
[self presentModalViewController:newDetailController animated:YES];

В новом VC есть редактируемые поля. Когда я редактирую поле, появляется клавиатура, которая закрывает часть основного VC.

Как определить, сколько ВК закрыто клавиатурой? На iPhone это просто, так как представленный ВК является полноэкранным, а математика клавиатуры проста.

Ответы [ 3 ]

1 голос
/ 03 апреля 2012

Вы можете поместить свой вид в подкласс UIScrollView, который разработан, чтобы избежать клавиатуры. Вот ссылка на дополнительную информацию о классе: https://github.com/michaeltyson/TPKeyboardAvoiding

Таким образом, вы можете просто вставить файлы .h и .m в свой проект. Если вы используете IB, то создайте UIScrollView в IB и измените его класс на TPKeyboardAvoidingScrollView. В противном случае просто выделите и инициализируйте новый TPKeyboardAvoidingScrollView и поместите в него свой UIView.

Надеюсь, это поможет

1 голос
/ 03 апреля 2012

Существует метод UIView для преобразования координат из системы координат вида в другую.Используйте это, чтобы получить координаты вашего вида в системе координат вашего UIWindow, это система, которую использует клавиатура, и это должно стать намного проще.

0 голосов
/ 03 апреля 2012

Простой способ решить эту проблему - использовать https://github.com/michaeltyson/TPKeyboardAvoiding Работает очень хорошо: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...