Проблема с ориентацией экранной клавиатуры в приложении iPhone OpenGL ES
-
22-09-2019 - |
Вопрос
Мне нужно использовать ввод с клавиатуры в моем приложении OpenGL ES, поэтому я просто создал скрытое UITextField и добавил его в качестве вложенного представления в главное окно вместе с представлением, в котором представлен мой контент.Я использую UITextField для управления клавиатурой, и она отлично работает в одной ориентации.
Затем я изменил свой код для поддержки всех ориентаций, самостоятельно повернув содержимое OpenGL на основе уведомлений UIDeviceOrientation.Чтобы повернуть клавиатуру, я переопределил метод shouldAutoRotateInterfaceOrientation в контроллере UITextField и вернул YES для всех ориентаций.Но я все еще вижу, что клавиатура не вращается в соответствии с ориентацией.
Есть какие-нибудь зацепки?
Решение
Я решил эту проблему, добавив UITextField во второе скрытое окно и добавив это окно в мое главное окно в качестве дополнительного представления.Не уверен, приемлемо ли это, но, похоже, это решает мою проблему.
Обновить:Начиная с iOS 4.0, добавление скрытого окна в качестве подвида в keyWindow, похоже, нарушает порядок вещей.Приложение завершает работу, если вы отправляете его в фоновый режим, затем на передний план, затем в фоновый режим и, в конце концов, на передний план.Итак, просто оставьте скрытое окно висящим, оно все равно должно работать.