Проблема с ориентацией экранной клавиатуры в приложении iPhone OpenGL ES - PullRequest
2 голосов
/ 29 марта 2010

Мне нужно принять ввод с клавиатуры в моем приложении OpenGL ES, поэтому я просто создал скрытый UITextField и добавил его в качестве подпредставления к главному окну вместе с представлением, представляющим мой контент. Я использую UITextField для управления клавиатурой, и она отлично работает в одной ориентации.

Затем я изменил свой код для поддержки всех ориентаций, вращая содержимое OpenGL самостоятельно на основе уведомлений UIDeviceOrientation. Чтобы повернуть клавиатуру, я переопределил метод shouldAutoRotateInterfaceOrientation в контроллере UITextField и возвратил YES для всех ориентаций. Но я все еще вижу, что клавиатура не вращается в соответствии с ориентацией.

Какие-нибудь подсказки?

1 Ответ

0 голосов
/ 10 июня 2011

Я решил эту проблему, добавив UITextField во второе скрытое окно и добавив это окно в главное окно в качестве вспомогательного представления. Не уверен, что это приемлемо, но, похоже, это решает мою проблему.

Обновление: начиная с iOS 4.0, добавление скрытого окна в качестве подпредставления в keyWindow, похоже, ломает вещи. Приложение вылетает, если вы отправляете его в фоновый режим, затем на передний план, затем в фон и на конечный передний план. Поэтому просто оставьте скрытое окно подвешенным, оно все равно должно работать.

...