Обнаружение устройства вверх ногами - PullRequest
2 голосов
/ 29 сентября 2011

Каковы правильные значения для обнаружения устройства вверх ногами?

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

Я использую следующие значения

float xx = -[acceleration x];
    float yy = [acceleration y];
    float angle = atan2(yy, xx);

    if(angle >= 0.75 && angle <= 2.25)
    {
        NSLog(@"Upside down");
    }

Ответы [ 3 ]

7 голосов
/ 29 сентября 2011

Начните прослушивание событий ориентации, используя:

UIDevice *currDevice = [UIDevice currentDevice];
[currDevice beginGeneratingDeviceOrientationNotifications];

Затем получите ориентацию, используя:

currDevice.orientation

Это возвращаемые значения:

{'1': 'Портрет', '2': 'PortraitUpsideDown', '3': 'LandscapeLeft', '4': 'LandscapeRight', «5»: «FaceUp», '6': 'FaceDown'}

1 голос
/ 29 сентября 2011

Ссылка на класс UIDevice

См. Раздел «Получение ориентации устройства».

0 голосов
/ 29 сентября 2011

это мой подход (с кодом) для реализации обработки ориентации устройства на iOS, и вы можете использовать его, если хотите:

Как обрабатывать UIDeviceOrientation для управления макетами представлений

...