IOS 6下设置屏幕旋转方向代码

IOS 6.0 控制屏幕旋转:

1、 window初始化时必需使用rootviewcontroller

       self.window.rootViewController = self.viewcontroller;  

而不是

   [self.window addSubview:self.viewcontroller.view];

 

2、在需要旋转的controller 中添加如下三个方法:

    

///iOS6.0之前

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
{ 
    return (toInterfaceOrientation != UIInterfaceOrientationMaskPortraitUpsideDown); 
} 

///iOS6.0
- (BOOL)shouldAutorotate 
{ 
    return YES; 
} 


- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskAllButUpsideDown; 
} 

3、有个变化:之前这些方法都添加在UIViewController中,现在是添加在root viewcontroller中;

     意思是如果你是当个UIViewController的应用就还在UIViewController中;

     如果你是UINavigationController 的导航应用应该添加在UINavigationController 中;

     如果你是UITabBarViewController的应用应该添加在UITabBarViewController中;

     也就是window的root viewcontroller中;