我在纵向模式下有一个parentViewController我想在横向模式下添加childViewController(这是MPMoviePlaycontroller的子类)这是我使用的代码:
在ParentViewController.m-(IBAction)playMovie
{
ChildViewController *childViewController = [[ChildViewController alloc] initWithContentURL:url];
[self.navigationController.view addSubview:childViewController.view];
childViewController.view.alpha = 0.0;
[childViewController beginAppearanceTransition:YES animated:YES];
[UIView
animateWithDuration:0.3
delay:0.0
options:UIViewAnimationOptionCurveEaseOut
animations:^(void){
childViewController.view.alpha = 1.0;
}
completion:^(BOOL finished) {
[childViewController endAppearanceTransition];
[childViewController didMoveToParentViewController:self.navigationController];
}
];
}
在ChildViewController.m -(BOOL)shouldAutorotate {
return YES;
}
-(NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}
问题是ChildViewController仍然被显示在纵向模式。
ChildViewController * ChildViewController = [[ChildViewController alloc] initWithContentURL:url];
[自我。导航控制器addChildViewController: childViewController];
[self.navigationController。视图addSubview: childViewController.view];
子视图控制器应该在它的视图被访问之前首先被添加到它的父视图控制器。