У меня есть приложение OpenGL, которое поддерживает динамическую ориентацию устройства.Я могу повернуть устройство в любую из 4 физических ориентаций, и все работает как положено.
Теперь я добавил контроллер модального представления, чтобы вы могли получить представление настроек (это не OpenGL).Контроллер модального вида также поддерживает любую ориентацию устройства.
Однако, если я представляю контроллер модального вида в ориентации A (например, в портретной ориентации) и отклоняю его в ориентации B (например, в альбомной ориентации вправо), после его уменьшения,представление OpenGL повреждено (соотношение сторон выглядит неправильно).Я должен сориентировать устройство в другой ориентации, чтобы представление OpenGL «исправляло» себя.
Когда контроллер модального представления закрывается, приложение как будто думает, что оно уже находится в ориентации B, поэтому оно неникогда не поворачивать представление OpenGL.
Если я отключу вращение на контроллере модального вида, то, если я представлю модальный контроллер в ориентации A, поверните устройство в ориентацию B (контроллер модального вида больше не вращается) ипри отклонении контроллера представление OpenGL получает willRotateToInterfaceOrientation / didRotateFromInterfaceOrientation и правильно ориентирует на ориентацию B.
Есть ли способ сохранить динамическую ориентацию модального контроллера, но при этом представление OpenGL также может правильно вращаться после модального контроллерауволен?
Спасибо.