苹果将sdk从5.1升级到6.0之后在屏幕旋转的支持上做了一些修改。需要注意的为以下3点:

1 plist文件:首先必须在plist文件中Supported interface orientations项进行对应方向的支持。iphone和ipad分别为两项。

2 新增加的关于旋转支持的函数:

需要在rootviewcontroller中响应以下2个方法:

 

-(BOOL)shouldAutorotate

{

    return YES;

}

-(NSUInteger)supportedInterfaceOrientations

{

    return UIInterfaceOrientationMaskAll;//该参数决定旋转支持的方向

}

3 初始页面的载入方法需要改变

在iOS4.0之前从windows窗口载入页面都用的是

[self.window addsubview:myviewcontroller]

后来支持

self.windows.rootviewcontroller = myviewcontroller;

iOS6种必须改为后者才能响应2中提到的2个方法。


以上3步便可以完成对iOS6下屏幕旋转问题的解决。