如何在仅肖像应用播放视频的景观与MPMovieViewController(How to play

2019-07-01 21:22发布

我的应用程序支持的接口方向是纵向和倒挂。 然而,当视频被播放时,我希望它发挥全屏景观。 目前使用此代码,它只能播放肖像,即使设备旋转:

[player.moviePlayer setControlStyle:MPMovieControlStyleFullscreen];
player.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
[self presentMoviePlayerViewControllerAnimated:player];

我怎样才能迫使它进入横向模式?

Answer 1:

这是我如何做到这一点:
在项目文件,请确保您正在支持横向模式
现在,在所有ViewControllers那应该还是人像只有中添加以下代码

//ios6
- (BOOL)shouldAutorotate {
    return NO;
}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
    return UIInterfaceOrientationPortrait;
}
- (NSUInteger)supportedInterfaceOrientations {
    return UIInterfaceOrientationMaskPortrait;
}

//ios4 and ios5
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

我已经把双方的iOS5和iOS6的调用,以便我的代码将在两个运行。

当你的MPMoviePlayerController视图全屏变,这将是铺在一切之上的新的视图控制器。 所以,这将允许根据项目的支持的界面取向旋转。 它不会看到你在哪里迫使其他ViewControllers的肖像。



文章来源: How to play landscape video with MPMovieViewController in a portrait-only app