Я разрабатываю это приложение на iPad.Мое MainWindow содержит Split View Controller, который загружает RootViewController и DetailViewController.
У меня есть это изображение, которое находится в правом нижнем углу DetailViewController.Мое приложение допускает разные ориентации, поэтому я хочу, чтобы изображение появлялось в разных позициях для разных ориентаций.
Это мой код в DetailViewController:
- (void) willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
myImage.frame = CGRectMake(183.0f, 257.0f, 548.0f, 447.0f);
}
else if(toInterfaceOrientation == UIInterfaceOrientationPortrait || toInterfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
myImage.frame = CGRectMake(244.0f, 518.0f, 548.0f, 447.0f);
}
}
Когда я запускаю свое приложение и мой iPadв книжной ориентации, изображение будет правильно размещено в (X: 244, Y: 518), что находится внизу справа.Но когда я запускаю свое приложение, и мой iPad находится в альбомной ориентации, изображение не будет отображаться, и я подозреваю, что оно все еще находится в положении для книжной ориентации.Только когда я поворачиваю свой iPad в портретную ориентацию, а затем обратно в альбомную ориентацию, изображение будет отображаться в (X: 183, Y: 257), что является правильным.
То, что я пытался сделать, это разместить этикоды в методе viewWillAppear моего DetailViewController:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
if(self.interfaceOrientation == UIInterfaceOrientationLandscapeLeft || self.interfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
myImage.frame = CGRectMake(183.0f, 257.0f, 548.0f, 447.0f);
}
else if(self.interfaceOrientation == UIInterfaceOrientationPortrait || self.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown)
{
myImage.frame = CGRectMake(244.0f, 518.0f, 548.0f, 447.0f);
}
}
Но когда я запускаю свое приложение, у него все еще остается та же проблема.
Что я могу сделать, чтобы при первом запуске моего приложенияв альбомной ориентации он будет правильно размещен в (X: 244, Y: 518)?