如何旋转MPMoviePlayerController

Dwa*_*ley 3 iphone mpmovieplayercontroller orientation ipad

我正在构建一个iPhone应用程序,可以根据需要从Web服务播放视频.

视频在MPMoviePlayerController中播放,一切都在iPhone设备上正常运行.

但是,当在iPad上加载iPhone应用程序时,视频会播放纵向模式(顶部和底部带有信箱),而不是像iPhone上那样使用横向左侧.

起初视频根本没有出现,但是我通过将MPMoviePlayerControllers视图添加到创建它的视图作为子视图来修复此问题,然后将其设置为全屏播放.

-

编辑原件:

我现在可以在iPad上全力以赴地玩它.有没有办法阻止它旋转,只是让它玩LandscapeLeft?

谢谢,Dwaine

tc.*_*tc. 5

iPad应用程序应该支持所有四种界面方向.

编辑:我没有设法找到官方文档引用.可能只是iPad应用程序应该能够在所有方向上启动,但如果它是"明智的",你可以强制一些比特是风景.Apple是否拒绝您的应用是另一个问题,但我认为他们不太可能拒绝播放视频的视频应用.

经过一些实验,以下似乎有效:

@interface MyMovieViewController : MPMoviePlayerViewController
@end

@implementation MyMovieViewController
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}

@end
Run Code Online (Sandbox Code Playgroud)

然后只是实例化MyMovieViewController而不是MPMoviePlayerViewController.

编辑2: MPMoviePlayerViewController与MPMoviePlayerController不同; 你用它来获得2.0-3.1 MPMoviePlayerController的行为.您需要将视图控制器添加到VC层次结构中,但它非常简单(并且比使用视图转换更容易):

MPMoviePlayerViewController * vc = [[MyMovieViewController alloc] initWithContentURL:aUrl];
[self presentMoviePlayerViewControllerAnimated:vc];
[vc.moviePlayer play];
Run Code Online (Sandbox Code Playgroud)