在我的iOS 7/8应用程序中,我有几个viewcontrollers,所有这些都应该是肖像。我有一个视图控制器,它有一个全屏视图,可以播放视频。我需要这个视图才能根据手机的方向旋转。但是,不允许包含视频视图的视图控制器旋转,原因是有些其他视图有时会覆盖在全屏视频视图上方,这些视图是视图控制器的一部分,并且这些视图不应该旋转。
那么如何旋转单个视图以及如何获知设备的方向已更改。通常的[UIApplication sharedApplication] .statusBarOrientation不起作用,因为viewcontroller本身不会旋转。
如何解决这个问题。
谢谢
答案 0 :(得分:0)
您无法强行旋转屏幕。还有另一种方法,在你的情况下,你拥有Portrait中的所有屏幕,你需要一个可以双向旋转的ViewController。您需要按照以下几个步骤进行操作。
有关您需要在Build Settings
。
创建UINavigationController
类型的自定义类,说CustomNavController
,然后在.m类中添加以下代码。
-(BOOL)shouldAutorotate{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
使用Modal
将视频控制器显示为CustomNavController
,如下所示
VideoViewController *controller=[[VideoViewController alloc] initWithNibName:@"VideoViewController" bundle:nil];
CustomNavController *nav=[[CustomNavController alloc] initWithRootViewController:controller];
[self presentViewController:nav animated:YES completion:nil];
nav.navigationBar.hidden=YES;
它应该可行,诀窍是分离旋转。