Вращение UIView, модальный вид, альбомный и портретный, родительский не может отобразить

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

  1. У меня есть серия контроллеров представления, которые связаны вместе с контроллером навигации (это отлично работает),
  2. Все эти контроллеры представления поддерживают только портретный режим (по дизайну),
  3. В одном из контроллеров представления (на самом деле «конечный») пользователь может щелкнуть ячейку таблицы, чтобы открыть модальный контроллер представления (конечно, используя presentModalViewController (...))
  4. Этот контроллер модального представления поддерживает портретный и ландшафтный режимы (и это работает),
  5. When the user clicks the 'Done' button on this modal view controller we pop and pass control back to the parent view controller, however;
    1. If the user is in portrait mode when they click 'Done' then the parent displays itself just fine,
    2. Если пользователь находится в ландшафтном режиме, когда он нажимает «Готово», то родительский элемент отображает полностью белый пустой экран (который покрывает весь экран). Как будто контроллер не умеет рендерить в ландшафте и просто не беспокоит.

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

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


person Ben    schedule 12.01.2010    source источник


Ответы (1)


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

person Morion    schedule 12.01.2010
comment
Спасибо за этот ответ. Я действительно делал то же самое. Но это не идеально, не так ли? Это кажется довольно фундаментальным для такого устройства, как iPhone. У этой проблемы должно быть решение ... - person Ben; 12.01.2010