MPMoviePlayerController should only in landscape m

2020-02-14 06:54发布

I am using the MPMoviePlayerController in my application to play videos. My application is working only in portrait mode. and I want application video should only play in landscape mode only. So please can any one suggest how i do this. Right now my video is playing in Portrait mode.

2条回答
孤傲高冷的网名
2楼-- · 2020-02-14 07:17

Use this Code in your MPMoviePlayerController,

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    [[UIApplication sharedApplication] setStatusBarOrientation: UIInterfaceOrientationLandscapeLeft];
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}

Instead of UIInterfaceOrientationLandscapeLeft you can use UIInterfaceOrientationLandscapeRight also...

查看更多
狗以群分
3楼-- · 2020-02-14 07:20

For doing this, You need to subclass the MPMoviePlayerController class.

@interface yourMovie:MPMoviePlayerController
{
}
@end

and you need to implement the shouldAutoRotate method in the implementation and return only landscape mode

@implementation yourMovie

- (BOOL)shouldAutorotate
{
    return [[UIDevice currentDevice] orientation] != UIInterfaceOrientationPortrait;
}
@end

And you need to create yourMovie instance instead of MPMoviePlayerController

查看更多
登录 后发表回答