Принудительное изменение ориентации в коде - PullRequest
0 голосов
/ 21 августа 2011

Итак, у меня есть приложение с контроллером представления, которое меняет представление при повороте на альбомную ориентацию. В этом представлении пользователь может нажать на большие изображения в UIScrollView, который будет выдвигать новый контроллер представления. Однако выдвигаемый контроллер вида НЕ поддерживает альбомную ориентацию.

Это проблема, когда пользователь нажимает на изображение в первом контроллере, второй загружает и автоматически поворачивает только портретное изображение в ландшафтный режим, который выглядит некрасиво.

Итак, вопрос в том; как я могу (возможно, в viewWillAppear) заставить ориентацию измениться на портретную, даже если пользователь держит устройство в горизонтальном положении? Я попытался [[UIApplication sharedApplication] setStatusBarOrientation:], как упоминалось в другом месте, но без радости.

1 Ответ

1 голос
/ 21 августа 2011

Контроллер с принудительной навигацией, поддерживающий только портретную ориентацию, должен реализовывать этот метод:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation

Установите его так, чтобы он возвращал поддерживаемую ориентацию / с, поэтому в этом случае это будет:

return (interfaceOrientation == UIInterfaceOrientationPortrait); // and probably portrait upside-down, if it's on the iPad
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...