Я работаю над приложением, которое имеет контроллер представления навигации в контроллере представления.Все работает нормально, за исключением того факта, что когда он не запускается в портретной ориентации, контроллер навигации имеет неправильный размер и занимает весь экран.У меня есть скриншоты, как это происходит.
вот что происходит, когда приложение запускается в портретной ориентации здесь
теперь, когда приложение запускается либо в горизонтальной плоскости вправо / влево, либо в перевернутом портретном положении, это происходит здесь
Я не знаю, есть ли у кого-нибудь решение для этой проблемы, поскольку, поскольку у него есть пространство сверху, всегда есть промежуток, когда происходит вращение.
Для большей справки я включил часть своего кода.
-(void)viewDidLoad{
SongsViewController *viewController = [[SongsViewController alloc] initWithNibName:@"SongsViewController" bundle:nil];
dataView = [[UINavigationController alloc] initWithRootViewController:viewController];
[dataView setDelegate:self];
dataView.view.frame = CGRectMake(192, 85, 768 - 192, 1004 - 85 - 44);
[dataView.view setAutoresizesSubviews:YES];
[dataView.view setAutoresizingMask:UIViewAutoresizingNone];
[self.view addSubview:dataView.view];
[viewController release];
}
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation) interfaceOrientation duration:(NSTimeInterval)duration{
if (interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
dataView.view.frame = CGRectMake(192, 85, 768 - 192, 1004 - 85 - 44);
}
else {
dataView.view.frame = CGRectMake(192, 85, 1024 - 192, 748 - 85 - 44);
}
}