MPMoviePlayerController should only in landscape m

2020-02-14 06:30发布

问题:

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.

回答1:

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



回答2:

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...