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

时间:2015-09-02 12:06:03

标签: ios

我有2个视图控制器A和B.视图控制器A只是纵向,视图控制器B可以旋转。

当手机是风景时,我按下视图控制器A,它的方向是纵向 - >好。

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

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

2 个答案:

答案 0 :(得分:0)

使用它可以解决你的问题

AppDelegate.m

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

return UIInterfaceOrientationMaskLandscape;

}

的ViewController

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

答案 1 :(得分:0)

要旋转设备方向,请根据需要在 viewWillAppear viewWillDisAppear 中使用此代码

 NSNumber *value = [NSNumber numberWithInt:UIInterfaceOrientationPortrait];
[[UIDevice currentDevice] setValue:value forKey:@"orientation"];

要旋转View,请使用此代码

[self shouldAutorotate];
[self supportedInterfaceOrientations];

ViewController.m

中定义此方法
-(BOOL)shouldAutorotate{
return YES;
}

- (NSUInteger)supportedInterfaceOrientations {

    return UIInterfaceOrientationMaskPortrait;    
}

它会帮助.Thankyou