iPad ориентация возвращает неизвестные значения - PullRequest
6 голосов
/ 10 ноября 2010

Я использую этот код:

UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];

, чтобы получить ориентацию iPad, но он возвращает UIDeviceOrientationUnknown, когда я использую рендеринг OpenGL. Когда я играю фильмы или отображаю UIViews, он возвращает правильное значение. Вы знаете, как я могу получить правильную ориентацию? Я не хочу использовать акселерометр, потому что я хочу знать, когда устройство заблокировало ориентацию.

Спасибо!

Ответы [ 2 ]

18 голосов
/ 10 ноября 2010

Бывают ситуации, когда акселерометр не может точно определить ориентацию, например, когда устройство удерживается в горизонтальном положении.Вы по-прежнему сможете получить текущую ориентацию, используя:

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
0 голосов
/ 11 ноября 2010

Если я добавлю [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];ориентация будет правильной даже в режиме рендеринга OpenGL.UIDeviceOrientationUnknown ориентация иногда возвращается, но только на короткое время.

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