Я разрабатываю приложение для iPad, которое должно поддерживать только ориентацию ландшафта. Я использую эти два метода, чтобы добавить новый контроллер представления ребенка моего контейнера контроллер представления:Контроллер просмотра контейнера iOS добавляет вид ребенка в портретной ориентации
- (void) assignFirstChildViewController:(UIViewController*)controller
{
self.currentChildViewController = controller;
[self addChildViewController:self.currentChildViewController];
[self.currentChildViewController didMoveToParentViewController:self];
[self.containerView addSubview:self.currentChildViewController.view];
}
- (void)assignNewChildController:(UIViewController *)childViewController
{
id currentChildViewController = self.currentChildViewController;
if(!currentChildViewController){
[self assignFirstChildViewController:childViewController];
}else{
[self.currentChildViewController willMoveToParentViewController:nil];
[self addChildViewController:childViewController];
__weak __block PTSBaseContainerViewController *weakSelf=self;
[self transitionFromViewController:self.currentChildViewController
toViewController:childViewController
duration:1.0
options:0
animations:^{
[UIView transitionFromView:self.currentChildViewController.view toView:childViewController.view duration:1.0 options:UIViewAnimationOptionTransitionCrossDissolve completion:NULL];
}
completion:^(BOOL finished) {
[weakSelf.currentChildViewController removeFromParentViewController];
weakSelf.currentChildViewController = childViewController;
[weakSelf.currentChildViewController didMoveToParentViewController:weakSelf];
}];
}
}
Проблема в том, что вид контроллера зрения ребенка добавляется в портретной ориентации, и это портит мнение, как показано на следующее изображение:
зеленый взгляд вид контроллера зрения ребенка, который, как вы можете увидеть, добавляется в портретном режиме. Вместо того, чтобы занимать весь желтый вид (который является видом контейнера и он занимает весь кадр контроллера вида под серым верхним баром), он добавляется в портретном режиме, и я не могу понять, почему.
PS: Я попытался перекрывая shouldAutomaticallyForwardRotationMethods
и shouldAutomaticallyForwardAppearanceMethods
, как написано в документации яблоко, но без каких-либо результатов.