Как я могу запросить текущую ориентацию экрана iPhone / iPad? - PullRequest
3 голосов
/ 04 июня 2010

Мне было любопытно узнать, есть ли какой-нибудь способ определения ориентации экрана на iPhone / iPad.

В настоящее время я устанавливаю переменную-член, когда вызывается это сообщение:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
   self.orientation = interfaceOrientation;
   return YES;
}

... что-то вроде того, что я мог бы запрашивать как состояние, а не отслеживать его при изменении.

Ответы [ 3 ]

11 голосов
/ 04 июня 2010

UIViewController имеет свойство interfaceOrientation.

Не смущайтесь ориентацией в UIDevice, которая является не ориентацией интерфейса, а физической ориентацией.

11 голосов
/ 05 февраля 2011

Используйте это, если у вас есть строка состояния сверху.

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
if (orientation == UIInterfaceOrientationPortrait || orientation == UIInterfaceOrientationPortraitUpsideDown) {
    // portrait             
} else {
    // landscape
}
1 голос
/ 04 июня 2010

Вы можете сделать [[UIDevice currentDevice] orientation].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...