Ios 在ViewController中旋转单个视图
在我的iOS 7/8应用程序中,我有几个ViewController,它们都应该是纵向的。我有一个视图控制器,它有一个全屏视图,可以播放视频。我需要这个视图能够根据手机的方向旋转。但是,不允许包含视频视图的视图控制器旋转,原因是有时会有一些其他视图覆盖在作为viewcontroller一部分的全屏视频视图上方,因此不应旋转这些视图 因此,如何旋转单个视图,以及如何得知设备的方向已更改。通常的[UIApplication sharedApplication].statusBarOrientation不工作,因为viewcontroller本身不旋转 如何解决这个问题Ios 在ViewController中旋转单个视图,ios,objective-c,iphone,ios8,Ios,Objective C,Iphone,Ios8,在我的iOS 7/8应用程序中,我有几个ViewController,它们都应该是纵向的。我有一个视图控制器,它有一个全屏视图,可以播放视频。我需要这个视图能够根据手机的方向旋转。但是,不允许包含视频视图的视图控制器旋转,原因是有时会有一些其他视图覆盖在作为viewcontroller一部分的全屏视频视图上方,因此不应旋转这些视图 因此,如何旋转单个视图,以及如何得知设备的方向已更改。通常的[UIApplication sharedApplication].statusBarOrientatio
谢谢您无法强制旋转屏幕。还有另一种方法,在您的情况下,所有屏幕都是纵向的,您需要一个可以双向旋转的ViewController。您需要遵循下面描述的几个步骤 有关需要在“生成设置”中执行的设置,请参见图 创建UINavigationController类型的自定义类,比如CustomNavController,然后在.m类中添加以下代码
-(BOOL)shouldAutorotate{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations{
return UIInterfaceOrientationMaskAll;
}
使用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;
这应该是可行的,诀窍是分开旋转。这是一个被苹果拒绝的配方!如果你想试试你的缺点,你可以这样做:view.transform=CGAffineTransformMakeRotationM_PI_2so你想要一个viewController的视图被旋转,而其他视图不被旋转?!!嗨,CGAffineTransformMakeRotation方法似乎是一个不错的选择!