私はポートレートモードで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 がまだ縦長モードで表示されていることです。