Как определить ориентацию устройства при переходе назад и вперед по вкладкам и представлениям? - PullRequest
0 голосов
/ 31 марта 2010

Мое приложение перемещается между портретом и пейзажем. У меня все содержимое (ярлыки, uiimageviews, uilabels) выстроено в очередь для обеих ориентаций. Тем не менее, единственное изменение, когда устройство фактически повернуто. Когда я переключаюсь между вкладками после того, как он повернут, он просто показывает автоматический размер, а не тот способ, которым я его настраивал, когда пользователь поворачивает его.

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

Хорошо, я установил его на ViewWillAppear. Есть ли причина, по которой он не определяет ориентацию и не отображает содержимое там, где я его установил?

-(void)viewWillAppear:(UIInterfaceOrientation)fromInterfaceOrientation duration:(NSTimeInterval)duration{

 UIInterfaceOrientation toOrientation = self.interfaceOrientation;
 [UIView beginAnimations:@"move buttons" context:nil];
 [UIView setAnimationDuration:0.5f];
 [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
 if(toOrientation == UIInterfaceOrientationPortrait
    || toOrientation == UIInterfaceOrientationPortraitUpsideDown)
 {
  aboutContent.frame = CGRectMake(20, 100, 280, 107);
  myLogo.frame = CGRectMake(-5, 20, 330, 65);
  bulletOne.frame = CGRectMake(40, 220, 240, 45);
  bulletTwo.frame = CGRectMake(40, 270, 240, 45);
 }
 else
 {
  aboutContent.frame = CGRectMake(40, 80, 400, 70);
  myLogo.frame = CGRectMake(230, 30, 20, 20);
  bulletOne.frame = CGRectMake(90, 140, 330, 65);
  bulletTwo.frame = CGRectMake(90, 170, 330, 65);
 } 
 [UIView commitAnimations];
}

1 Ответ

2 голосов
/ 01 апреля 2010

В каждом представлении UIViewController viewWillAppear проверяет ориентацию устройства и, если ориентация отличается от того, как вы его разметили, отправьте willRotateToInterfaceOrientation: duration: себе. Это предполагает, что ваша willRotateToInterfaceOrientation: duration: обновит макет до указанной ориентации.

...