Мое приложение перемещается между портретом и пейзажем. У меня все содержимое (ярлыки, 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];
}