0

我有一个处于 potrait 模式的 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 仍然以纵向模式显示。

4

1 回答 1

0

ChildViewController *childViewController = [[ChildViewController alloc] initWithContentURL:url];

[self.navigationController addChildViewController:childViewController];

[self.navigationController.view addSubview:childViewController.view];

在访问其视图之前,应首先将子视图控制器添加到其父视图控制器。

于 2014-08-25T10:56:15.843 回答