2014-10-08 15 views
2

我有一个被锁定在肖像的视图,然后我推动第二个视图,我在景观中。 视频在横向播放后会返回到纵向,这在iOS 7.1中运行良好,但iOS 8.0中存在一些奇怪的错误。iOS 8方向错误。在7.1中工作

请看这张图。正如你可以看到tabBar已经移动到屏幕中间。 enter image description here

在进入视频播放器之前,它看起来像这样。

enter image description here

我已经试过各种其他像我目前使用MPMoviePlayerViewController显示我的视频设置

[self.view.window setFrame:[[UIScreen mainScreen] bounds]]; 

。但在我回到另一个视图后,它就不起作用。

它是如此奇怪,它在iOS 7中工作。 你们可以帮我吗?

我控制方向的方法是通过继承uinavigation控制器并告诉它它只在肖像中,然后当我到达视频视图时,我告诉它允许使用横向视图。然后,当它返回我只允许再次肖像。

-(NSUInteger)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskLandscape; 
} 

-(BOOL)shouldAutorotate{ 
    return YES; 
} 
+0

你可以显示你正在使用的代码来阻止它过渡到风景?另外,看看这个方法...找不到它...这是新的iOS8方向类型的东西... – Fogmeister 2014-10-08 13:27:02

+0

现在更新线程与一些更多的信息。似乎无法在iOS 8方向文档中找到任何内容。 – Steelzeh 2014-10-08 13:35:24

+0

嗯...我找不到我想要的东西:( – Fogmeister 2014-10-08 13:49:50

回答

0

面对同样的问题,用这种方法解决。将该代码添加到您在播放视频后返回的控制器中的viewWillAppear方法中。

[[UIDevice currentDevice] setValue: 
[NSNumber numberWithInteger: UIInterfaceOrientationPortrait] 
          forKey:@"orientation"]; 

然后加入这种方法也

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return UIInterfaceOrientationIsPortrait(interfaceOrientation); 
} 
+0

对不起,但没有帮助。tabbar是stil在屏幕中间,是的,我确实把它添加到viewWillAppear – Steelzeh 2014-10-09 06:11:29

+0

尝试设置状态栏的方向.. – iAnurag 2014-10-09 06:50:07

+0

是的,我这样做。我这样做的方式:[[UIApplication sharedApplic ation] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:YES]; 但这并没有帮助我。 – Steelzeh 2014-10-09 12:53:03

0

如苹果文档中提到,您可以在iOS8上的UIViewController控制方向只能与方法:viewWillTransitionToSize:withTransitionCoordinator :.所以,不幸的是,你无法控制特殊控制器的方向。也许我错过了什么。