我正在为IOS7创建一个xcode应用程序,该应用程序在大多数视图中都可以使用纵向mod。

项目设置允许使用“纵向”,“左横向”和“右横向”。

在只希望以纵向显示的视图中,我添加以下代码将其锁定为纵向模式:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

-(BOOL)shouldAutorotate
{
    return NO;
}

-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskPortrait;
}


在这些锁定的视图之一中,我使用以下代码呈现了一个MPmovieViewController:

MPMoviePlayerViewController *movieViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:replayURL];
    movieViewController.moviePlayer.scalingMode = MPMovieScalingModeAspectFit;

    [self presentMoviePlayerViewControllerAnimated:movieViewController];


这段代码创建了一个可以在Portrait and Landscape中使用的MPmovieViewController。 (这就是我想要的)

当我在横向模式下按MPMovieViewController的完成按钮以关闭MovieController时,会出现问题。以前的视图不支持横向模式,因此我遇到以下错误:

 *** Terminating app due to uncaught exception 'UIApplicationInvalidInterfaceOrientation', reason: 'preferredInterfaceOrientationForPresentation must return a supported interface orientation!'


关闭MPMovieViewController时,如何强制旋转回到纵向模式?

最好的祝福

理查德

最佳答案

我在回答自己。实际上,这非常简单。

只需添加到仅纵向视图:

-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { return UIInterfaceOrientationPortrait; }


谢谢

关于ios - 将横向 View 中的MPmovieViewController释放为仅纵向 View 时出错(UIApplicationInvalidInterfaceOrientation),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24436008/

10-13 07:41