我有一个parentViewController在potrait模式中,我想在景观模式中向它添加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];
}
];
}儿童视图控件中的.m
-(BOOL)shouldAutorotate {
return YES;
}
-(NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
}问题是ChildViewController仍然以纵向模式显示。
发布于 2014-08-25 10:56:15
ChildViewController *childViewController = [ChildViewController alloc initWithContentURL:ChildViewController];
addChildViewController:childViewController; self.navigationController
self.navigationController.view addSubview:childViewController.view;
子视图控制器应该先添加到其父视图控制器中,然后再访问它的视图。
https://stackoverflow.com/questions/25480906
复制相似问题