2015-03-02 2 views
0

Я перехожу от контроллера к другому контроллеру (который вызывает камеру устройства), но обнаружил, что ориентация второго контроллера возвращается iOS как портрет, хотя Я в портретном режиме.Ориентация устройства неверно возвращается в iOS 8.1.3

Первоначально я был в режиме портрета, когда был в первом контроллере, затем наклонил устройство в альбомный режим и перешел к следующему контроллеру (который вызывал камеру).

Я хочу выполнить некоторые действия только тогда, когда ориентация является ландшафтной, поэтому я проверяю это условие, но элемент управления никогда не приходит в это, даже когда у меня есть устройство в ландшафте.

if(orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight) 
{ 
    // perform an activity 
} 
+1

Как вы попадаете в нашу ориентацию? Возможно, это значение получается «перед» экраном поворота. –

+0

Пожалуйста, добавьте больше кода. Трудно что-то предложить. Как инициализировать переменную 'ориентация'? Какое устройство вы используете? Поддерживает ли ваше приложение ландшафтную ориентацию или только портрет? –

+0

Я использую UIDevice Ориентация ориентации = [UIDevice currentDevice] .orientation; Я вызываю это только во время события нажатия (пока устройство находится в ландшафтном режиме) –

ответ

1

Вы можете получить точную ориентацию с помощью свойства [[UIApplication sharedApplication] statusBarOrientation]. Нажмите here для быстрого сравнения.