Проблема с ориентацией экранной клавиатуры в приложении iPhone OpenGL ES

StackOverflow https://stackoverflow.com/questions/2536787

Вопрос

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

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

Есть какие-нибудь зацепки?

Это было полезно?

Решение

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top