我正在运行安装了Xcode 4.5.1的Mt Lion系统。
默认情况下,当我构建并部署到iOS 5.1设备时,显示屏会随着设备旋转而旋转,但是当我部署到运行iOS 6的iPad或iPhone上,或者在iOS 6模拟器中运行时,它似乎无法工作。
这里有什么我漏掉的东西吗?
默认情况下,当我构建并部署到iOS 5.1设备时,显示屏会随着设备旋转而旋转,但是当我部署到运行iOS 6的iPad或iPhone上,或者在iOS 6模拟器中运行时,它似乎无法工作。
这里有什么我漏掉的东西吗?
请阅读以下内容,希望能对您有所帮助。(参考http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html)
处理视图旋转
在中,您的应用程序支持在应用程序的Info.plist文件中定义的界面方向。 视图控制器可以覆盖supportedInterfaceOrientations方法以限制支持的方向列表
。通常,系统仅在窗口的根视图控制器或呈现为填充整个屏幕的视图控制器上调用此方法;子视图控制器使用其父视图控制器提供给它们的窗口部分,并且不再直接参与关于支持哪些旋转的决策。应用程序方向掩码和视图控制器方向掩码的交集用于确定可以将视图控制器旋转到哪些方向。
您可以覆盖preferredInterfaceOrientationForPresentation方法,以便针对特定方向全屏呈现视图控制器。
在iOS 5及早期版本中,UIViewController类仅以纵向模式显示视图。为了支持更多的方向,您必须重写shouldAutorotateToInterfaceOrientation方法,并对子类支持的所有方向返回YES。如果您的视图的自动调整大小属性配置正确,这可能就是您要做的全部。然而,UIViewController类提供了其他钩子,供您根据需要实现其他行为。通常情况下,如果您的视图控制器旨在用作子视图控制器,则应支持所有界面方向。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { 返回YES; }