网上有很多关于MpMoviePlayerViewController播放时自动横屏的教程,但试用了好些个也不行.总结过后得出以下方法:
首先,在AppDelegate.m文件中,加入:
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window { // UIInterfaceOrientationMaskLandscape 支持左右横屏 // UIInterfaceOrientationMaskAll 支持四个方向旋转 // UIInterfaceOrientationMaskAllButUpsideDown 支持除了UpsideDown以外的旋转 return UIInterfaceOrientationMaskAllButUpsideDown; }
// // MyMoviePlayViewController.h // Medicine // // Created by Jz on 14-3-17. // Copyright (c) 2014年 Jz. All rights reserved. // // 重写MpMoviePlayerController类 实现自动横屏 #import <MediaPlayer/MediaPlayer.h> @interface MyMoviePlayViewController : MPMoviePlayerViewController @end在MyMoviePlayViewController.m中:
MyMoviePlayerViewController.m - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return UIDeviceOrientationIsLandscape(interfaceOrientation); } - (BOOL)shouldAutorotate { return YES; } - (NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskLandscape; } - (NSUInteger)application:(UIApplication*)application supportedInterfaceOrientationsForWindow:(UIWindow*)window { return UIInterfaceOrientationMaskAllButUpsideDown; }最后:
#import "MyMoviewPlayViewController" .......... MyMoviePlayViewController *playerVC = [[MyMoviePlayViewController alloc] initWithContentURL:XXXXXXX]; [self presentMoviePlayerViewControllerAnimated: playerVC];