Получение неправильной ориентации - PullRequest
0 голосов
/ 30 декабря 2010

У меня проблема с приложением, которая сводит меня с ума. В моем приложении я поворачиваю симулятор в ландшафтный режим, но в моей функции ниже, я получаю портретную ориентацию.

В чем здесь проблема? Пожалуйста, помогите мне.

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{
  if ( interfaceOrientation == UIInterfaceOrientationPortrait || 
  interfaceOrientation ==    UIInterfaceOrientationPortraitUpsideDown )
  {
    NSLog(@" portrait orientation");
  }
  else
  {
    NSLog(@"Landscape"); 
  }
 return YES;
}

Ответы [ 4 ]

1 голос
/ 30 декабря 2010

Сначала установите значение ориентации методом

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
// Overriden to allow any orientation.
NSLog(@"shouldAutorotateToInterfaceOrientation called...");
if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIDeviceOrientationPortraitUpsideDown) 
        defaultOrientation = 0;
    else if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight)
        defaultOrientation = 1;
    [self setTheOrientation];
    return YES;

}

Теперь установите значения координат, которые вам нужны, в соответствии с логическими значениями в методе setTheOrientation.

1 голос
/ 30 декабря 2010

Метод возвращает BOOL, вы должны вернуть либо YES, либо NO

0 голосов
/ 30 декабря 2010

Если вам нужен портретный режим, добавьте return TRUE в , если clouse и Если вы хотите альбомную ориентацию, добавьте return TRUE в else clouse , и если вы хотите оба режима, просто введите return TRUE в mustAutoRotate clouse

0 голосов
/ 30 декабря 2010

Почему вы не вернули значение BOOL?ДА или НЕТ, чтобы сообщить ОС, что вы собираетесь обрабатывать соответствующие события ориентации.

...