我有一个被锁定在肖像中的视图,然后我按下第二个视图,我在横向中有它。 在视频播放横向后,它返回到Portrait,这在iOS 7.1中运行良好,但在iOS 8.0上有一些奇怪的错误。
请看这张照片。正如您所看到的,tabBar已经移动到屏幕中间。
在进入视频播放器之前看起来像这样。
我尝试过各种其他设置,例如设置
[self.view.window setFrame:[[UIScreen mainScreen] bounds]];
我目前正在使用MPMoviePlayerViewController来显示我的视频。但是在我回到另一个观点后,它才刚刚开始工作。
它非常奇怪,它适用于iOS 7。 你能帮助我吗?
我控制方向的方式是通过子类化uinavigation控制器并告诉它只在Portrait中然后当我到达视频视图时我告诉它允许景观。然后当它返回时我只允许再次使用肖像。
-(NSUInteger)supportedInterfaceOrientations {
return UIInterfaceOrientationMaskLandscape;
}
-(BOOL)shouldAutorotate{
return YES;
}
答案 0 :(得分:0)
面对同样的问题,通过这种方式解决了。在该控制器的viewWillAppear方法中添加此代码,然后在播放视频后回来。
[[UIDevice currentDevice] setValue:
[NSNumber numberWithInteger: UIInterfaceOrientationPortrait]
forKey:@"orientation"];
然后再添加此方法
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return UIInterfaceOrientationIsPortrait(interfaceOrientation);
}
答案 1 :(得分:0)
如Apple文档中所述,您只能使用以下方法控制iOS8 UIViewController中的方向:viewWillTransitionToSize:withTransitionCoordinator:。因此,遗憾的是,您无法控制特殊控制器中的方向。也许我错过了什么。