Как программно установить ориентацию устройства в iOS - PullRequest
1 голос
/ 01 ноября 2011

У меня есть приложение для чтения электронных книг, в котором мне нужно программно настроить ориентацию устройства в соответствии с макетом страницы ... т.е. устройство должно поддерживать все ориентации для некоторых страниц и только альбомную ориентацию для некоторых других страниц.Есть ли способ, с помощью которого я могу программно изменить ориентацию

Ответы [ 6 ]

1 голос
/ 07 октября 2012

Обратите внимание, что поведение для этого изменилось с iOS 6.0. Для получения дополнительной информации см .: Автоповорот в iOS 6 имеет странное поведение

Суть в том, что если / будет / сделано / и т.д. было бы устарело и было заменено более чистой, более динамичной реализацией. За что мы все должны быть благодарны.

1 голос
/ 01 ноября 2011

Вы можете использовать ответ от jbat100 плюс вызов setStatusBarOrientation:animated в UIApplication для достижения эффекта.

0 голосов
/ 18 ноября 2014
NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationLandscapeRight];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];

Это может программно установить ориентацию устройства на LandscapeRight.

0 голосов
/ 12 октября 2014

Это работает для меня на Xcode 6 и 5.

- (BOOL)shouldAutorotate {return YES;}
- (NSUInteger)supportedInterfaceOrientations {return (UIInterfaceOrientationMaskPortrait);}
0 голосов
/ 19 апреля 2012

На самом деле вы можете заставить любое вращение.По крайней мере, я смог это сделать.Решение, которое я использовал: https://stackoverflow.com/a/10146270/894671

0 голосов
/ 01 ноября 2011

Вы не можете принудительно установить ориентацию устройства на какое-либо значение, система сообщает вам ориентацию устройства, а не наоборот.Вы можете вращать свои просмотры, используя CGAffineTransform и т. Д. (Связанный пост здесь ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...