如何为IOS6中的MPMoviePlayerController提供只有一个景观的视图
我花了2小时找到正确的代码来修复我的方向问题 这是我的电影播放器代码。我需要将这个特定的视图呈现在风景中。如何为IOS6中的MPMoviePlayerController提供只有一个景观的视图
在appdelegate我设置所有的方向,并在我的rootviewcontroller我设置为只有肖像和在我的movieplayer视图为风景,但不是运气。有谁能给我一些关于如何解决问题的评论吗?
- (NSUInteger)application:(UIApplication*)application supportedInterfaceOrientationsForWindow:(UIWindow*)window
{
return UIInterfaceOrientationMaskAll;
}
我RootViewController的
- (BOOL)shouldAutorotate
{
return NO;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
-(void)prepareIntroVideo
{
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]pathForResource:@"designthinking_pt1" ofType:@"mp4"]];
self.playercontroller = [[MPMoviePlayerController alloc] initWithContentURL:url];
[self.playercontroller.view setFrame:CGRectMake(0, -20, 320, 480)];
self.playercontroller.movieSourceType = MPMovieSourceTypeFile;
self.playercontroller.scalingMode = MPMovieScalingModeAspectFill;
self.playercontroller.fullscreen = NO;
self.playercontroller.controlStyle = MPMovieControlStyleFullscreen;
//playercontroller.controlStyle = MPMovieControlStyleFullscreen;
self.playercontroller.view.userInteractionEnabled =YES;
self.playercontroller.view.backgroundColor = [UIColor blackColor];
self.playercontroller.shouldAutoplay = NO;
//playercontroller.repeatMode = YES;
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlaybackComplete:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:self.playercontroller];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidEnterBackground)
name: UIApplicationDidEnterBackgroundNotification
object:[UIApplication sharedApplication]];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationWillEnterForeground)
name:UIApplicationWillEnterForegroundNotification
object:[UIApplication sharedApplication]];
[self.playercontroller prepareToPlay];
[self.view addSubview:self.playercontroller.view];
[self.playercontroller setFullscreen:YES animated:YES];
//[self.playercontroller stop];
[self.view sendSubviewToBack:self.playercontroller.view];
}
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationLandscapeLeft;
}
您可以检查我的例子... https://dl.dropboxusercontent.com/u/19438780/testRotate.zip
我有2个控制器,导航控制器 - 肖像;对于这个我“subclassed”导航控制器(这里是“肖像旋转”代码)
第3个控制器是风景 - 必须呈现模态,如果你想旋转它 - 相应的旋转代码。
嗨@tonyMkenu,我试了一下,但它不适合我的情况,让我把代码发布一段时间 – Desmond 2013-05-20 09:05:39
我会去了解一下preferredInterfaceOrientationForPresentation
,我在几个月前花了约一个星期这个问题。我不记得确切我如何解决它,但我知道它有一些东西需要与实施该方法
那么...任何更新? – TonyMkenu 2013-05-17 13:08:25