Ios 使视图控制器根据设备方向立即旋转

Ios 使视图控制器根据设备方向立即旋转,ios,Ios,我有两个视图控制器A和B。视图控制器A仅为纵向,视图控制器B可以旋转 当手机是横向的,我按下视图控制器A,它的方向是纵向->良好 但是当我从视图控制器A(手机仍然是横向的)推视图控制器B时,视图控制器B的方向是纵向的,这不是我想要的。 我必须将设备旋转到纵向然后横向,以使视图控制器B旋转到横向 我的问题是,从A推动视图控制器B后,如何使其在设备方向上立即旋转?使用此选项可能会解决您的问题 AppDelegate.m -(NSUInteger)application:(UIApplication

我有两个视图控制器A和B。视图控制器A仅为纵向,视图控制器B可以旋转

当手机是横向的,我按下视图控制器A,它的方向是纵向->良好

但是当我从视图控制器A(手机仍然是横向的)推视图控制器B时,视图控制器B的方向是纵向的,这不是我想要的。 我必须将设备旋转到纵向然后横向,以使视图控制器B旋转到横向


我的问题是,从A推动视图控制器B后,如何使其在设备方向上立即旋转?

使用此选项可能会解决您的问题

AppDelegate.m

-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{

return UIInterfaceOrientationMaskLandscape;

}
视图控制器

-(void) restrictRotation:(BOOL) restriction
{
AppDelegate* appDelegate = (AppDelegate*)[UIApplication sharedApplication].delegate;
appDelegate.restrictRotation = restriction;
}

要旋转设备方向,请根据需要在视图中使用此代码将显示视图将消失

 NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];
要旋转视图,请使用以下代码

[self shouldAutorotate];
[self supportedInterfaceOrientations];
并在ViewController.m

-(BOOL)shouldAutorotate{
return YES;
}
-(整数)支持的接口方向{

    return UIInterfaceOrientationMaskPortrait;    
}

这会有帮助的。谢谢你

对不起,什么是限制旋转?