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

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

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

9
задан Rajesh 16 July 2014 в 07:06
поделиться

2 ответа

Я разобрался! Пришлось проверить ориентацию строки состояния!

[UIApplication sharedApplication].statusBarOrientation
26
ответ дан 4 December 2019 в 07:46
поделиться

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

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

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

Надеюсь, это хотя бы поможет вам начать двигаться в правильном направлении.

2
ответ дан 4 December 2019 в 07:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: