Как показать сцену в ландшафтном режиме в раскадровке xcode? - PullRequest
1 голос
/ 25 января 2012

У меня есть проект раскадровки в xcode.Большая часть сцены показана в портретной ориентации, но я хочу показать одну из сцен в ландшафтном режиме без поворота устройства пользователем, всегда эта сцена отображается в горизонтальной ориентации.Эта сцена имеет простой viewcontroller с объектом uiwebview, который я открываю в формате PDF из URL.Моя идея - показать viewcontroller как модальный viewcontroller.

Кто-нибудь знает, как решить эту проблему? Вчера я трачу свое время на поиски этого в Интернете, но не могу найти решение.

Заранее спасибо!

1 Ответ

3 голосов
/ 25 января 2012

То, как на самом деле отображается сцена, определяется не раскадровкой, а контроллером просмотра.Вам необходимо создать подкласс UIViewController и реализовать - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation для возврата YES, только если ориентация интерфейса является альбомной ориентацией.Вы можете сделать это следующим образом:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

, чтобы разрешить обе ориентации, или заменить на

return interfaceOrientation == UIInterfaceOrientationLandscapeLeft

, чтобы разрешить только одно направление.

...