Как получить текущую ориентацию вида iPhone или последнюю ориентацию устройства? - PullRequest
9 голосов
/ 19 августа 2010

В моем приложении изображение появляется, когда пользователь встряхивает устройство. Существуют разные изображения для ландшафтного и портретного режима. Если iPhone имеет ориентацию книжную или альбомную , он работает нормально. Но если это UIDeviceOrientationFaceDown или UIDeviceOrientationFaceUp, изображение должно зависеть от последней использованной ориентации, потому что вид все еще отображается для этой ориентации.

Как узнать последнюю ориентацию устройства?

Ответы [ 2 ]

26 голосов
/ 19 августа 2010

Я понял это!Я должен был проверить ориентацию строки состояния!

[UIApplication sharedApplication].statusBarOrientation
2 голосов
/ 19 августа 2010

Ну, в методе mustAutoRotate класса он передает параметр с именем interfaceOrientation. Этот метод вызывается каждый раз, когда изменяется ориентация устройства. Вы можете сохранить это как переменную и посмотреть на нее позже, чтобы определить последнюю ориентацию.

 1 = standard portrait
 2 = upsidedown
 3 = button right landscape
 4 = button left landscape. 

Также вызов self.interfaceOrientation даст вам текущую ориентацию устройства.

Надеюсь, что это, по крайней мере, поможет вам начать в правильном направлении.

...