如何只旋转subclassed mpmovieplayer控制器,并保持其他视图固定到肖像
我正在使用从MPMoviePlayerController分类的xcdYoutubeVideoViewController。 我的申请是肖像。 要启动电影播放器,我正在这样做:
UINavigationController *navBarController = (UINavigationController*)[[[UIApplication sharedApplication] keyWindow] rootViewController] ; [navBarController presentMoviePlayerViewControllerAnimated:vc];
其中vc是XCDYouTubeVideoPlayerViewController的实例。 我怎样才能让旋转只在这个视图和按下完成button在movieplayer把应用程序回肖像?
您应该覆盖: -(BOOL) shouldAutorotate
在每个视图控制器。 如果您希望视图控制器不旋转否则返回YES。 请务必检查故事板设置上支持的方向。
更新:在您的父控制器呈现该播放器试试这个:
- (BOOL)shouldAutorotate { // 1. check if the parent presentedViewController is the nav containing the player // 2. if yes, return YES, NO otherwise }
如果应用程序根控制器是一个导航控制器,子类UINavigationViewController
并使用该类创build应用程序委托中的应用程序根视图控制器
@implementation ANavigationViewControllerSubClass - (BOOL)shouldAutorotate { return [self.topViewController shouldAutorotate]; } - (NSUInteger)supportedInterfaceOrientations { return [self.topViewController supportedInterfaceOrientations]; } - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { return [self.topViewController preferredInterfaceOrientationForPresentation]; } - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return [self.topViewController shouldAutorotateToInterfaceOrientation:interfaceOrientation]; } - (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { return [self.topViewController preferredInterfaceOrientationForPresentation]; }