我在安装了Xcode 4.5.1的Mt Lion上运行。
默认情况下,当我构建并部署到iOS 5.1设备时,当我旋转设备时显示器会旋转但是当我部署到iOS 6模拟器或我的iPad或iPhone时,它似乎不起作用运行iOS 6。
我在这里找不到什么东西?
答案 0 :(得分:1)
请阅读以下内容,希望对您有所帮助。 (参考http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html)
Handling View Rotations
在iOS 6
中,您的应用支持应用的Info.plist文件中定义的界面方向。 A view controller can override the supportedInterfaceOrientations method to limit the list of supported orientations
。通常,系统仅在窗口的根视图控制器或呈现的视图控制器上调用此方法以填充整个屏幕;子视图控制器使用由父视图控制器为其提供的窗口部分,不再直接参与有关支持哪些旋转的决策。应用程序的方向遮罩和视图控制器的方向遮罩的交点用于确定视图控制器可以旋转到哪个方向。
您可以覆盖打算以特定方向全屏显示的视图控制器的preferredInterfaceOrientationForPresentation。
在iOS 5 and earlier
中,UIViewController类仅以纵向模式显示视图。为了支持其他方向,you must override the shouldAutorotateToInterfaceOrientation: method and return YES for any orientations your subclass supports
。如果正确配置了视图的自动调整属性,则可能只需要执行此操作。但是,UIViewController类为您提供了额外的钩子,以根据需要实现其他行为。通常,如果您的视图控制器旨在用作子视图控制器,它应该支持所有接口方向。
此链接可能对您有所帮助http://www.cocos2d-iphone.org/forum/topic/40721
上面的链接有一些有趣的评论 - > Try to override the shouldAutoRotate method on the rvc, and put the conditional there. As far as I have tested, the shouldAutoRotateToInterfaceOrientation isn't called on iOS6 even with all fixes applied, so I was forced to override several more methods.
请给我一个反馈,谢谢:)