我的应用程序支持的接口方向是纵向和倒挂。 然而,当视频被播放时,我希望它发挥全屏景观。 目前使用此代码,它只能播放肖像,即使设备旋转:
[player.moviePlayer setControlStyle:MPMovieControlStyleFullscreen];
player.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;
[self presentMoviePlayerViewControllerAnimated:player];
我怎样才能迫使它进入横向模式?
这是我如何做到这一点:
在项目文件,请确保您正在支持横向模式
现在,在所有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