Вращение UIView, модальное представление ландшафта и портрета, родитель не может отрендерить - PullRequest
1 голос
/ 12 января 2010

Я наткнулся на некоторый блокпост с чем-то, с чем, я надеюсь, кто-то здесь сможет мне помочь. Сначала я опишу «состояние игры», а затем, в чем заключается проблема, вот так;

  1. У меня есть серия контроллеров представления, которые связаны между собой навигационным контроллером (это прекрасно работает),
  2. Все эти контроллеры представления поддерживают только портретный режим (по проекту),
  3. В одном из контроллеров представления (фактически, в конце) пользователь может щелкнуть ячейку таблицы, чтобы открыть модальный контроллер представления (конечно, с использованием presentModalViewController (...))
  4. Этот контроллер модального вида поддерживает портретный и ландшафтный режимы (и это работает),
  5. Когда пользователь нажимает кнопку «Готово» на этом контроллере модального представления, мы, однако, выскакиваем и передаем управление обратно в родительский контроллер представления;
    1. Если пользователь находится в портретном режиме, когда он нажимает «Готово», то родительский элемент отображается нормально,
    2. Если пользователь находится в ландшафтном режиме, когда он нажимает «Готово», тогда родитель отображает полностью белый пустой экран (который покрывает весь экран). Это как если бы контроллер не знал, как визуализировать в альбомной ориентации, и просто не беспокоился.

Я бы хотел, чтобы этот родительский вид отображался в портретной ориентации независимо от ориентации телефона, когда пользователь нажимает кнопку «Готово».

В различных сообщениях на форуме предлагается использовать метод UIDevice 'setOrientation' (но это недокументировано и, по-видимому, наше приложение будет отклонено). Другое предложение заключалось в том, чтобы установить для statusBarOrientation значение портрета в методе viewWillAppear, но это не имело никакого эффекта.

1 Ответ

0 голосов
/ 12 января 2010

У меня была похожая проблема не так давно. приложение было отклонено из-за использования метода setOrientation. тогда я просто отключил кнопку Готово в ландшафтном режиме. кажется, это самый простой способ.

...