Как получить текущую ориентацию устройства программно? - PullRequest
3 голосов
/ 06 сентября 2011

Я хочу знать ориентацию устройства, я использовал

 UIDeviceOrientationIsPortrait([UIDevice currentDevice].orientation

, но это работает, только когда я меняю ориентацию, иначе это ничего не дает (ИСТИНА / ЛОЖЬ). Так как я могу получить текущее устройствоориентация, даже если ориентация не изменилась.

Заранее спасибо!

Ответы [ 3 ]

6 голосов
/ 06 сентября 2011

Чтобы получить ориентацию

UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];

и возможные ориентации

typedef enum {
  UIInterfaceOrientationPortrait           = UIDeviceOrientationPortrait,
  UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown,
  UIInterfaceOrientationLandscapeLeft      = UIDeviceOrientationLandscapeLeft,
  UIInterfaceOrientationLandscapeRight     = UIDeviceOrientationLandscapeRight
} UIInterfaceOrientation;
4 голосов
/ 09 января 2012
UIInterfaceOrientation orientation = [[UIDevice currentDevice] orientation];

Дает неявное предупреждение перечисления.

Используйте это вместо:

UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
0 голосов
/ 06 сентября 2011

Извините, если вы уже сделали это, но изучили ли вы метод beginGeneratingDeviceOrientationNotifications , который позволяет генерировать уведомления для устройства?

Кроме того, вы ищете ориентацию устройства или ориентацию интерфейса ? Если вы ищете simpel Portrait vs Landscape Информация о ориентации, вы должны посмотреть в interfaceOrientation контроллера представления.

Надеюсь, это поможет!

...