Xcode 4.5如何构建IOS 5.1设备?

3
我正在运行安装了Xcode 4.5.1的Mt Lion系统。
默认情况下,当我构建并部署到iOS 5.1设备时,显示屏会随着设备旋转而旋转,但是当我部署到运行iOS 6的iPad或iPhone上,或者在iOS 6模拟器中运行时,它似乎无法工作。
这里有什么我漏掉的东西吗?
1个回答

1

请阅读以下内容,希望能对您有所帮助。(参考http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

处理视图旋转

在中,您的应用程序支持在应用程序的Info.plist文件中定义的界面方向。 视图控制器可以覆盖supportedInterfaceOrientations方法以限制支持的方向列表。通常,系统仅在窗口的根视图控制器或呈现为填充整个屏幕的视图控制器上调用此方法;子视图控制器使用其父视图控制器提供给它们的窗口部分,并且不再直接参与关于支持哪些旋转的决策。应用程序方向掩码和视图控制器方向掩码的交集用于确定可以将视图控制器旋转到哪些方向。

您可以覆盖preferredInterfaceOrientationForPresentation方法,以便针对特定方向全屏呈现视图控制器。

在iOS 5及早期版本中,UIViewController类仅以纵向模式显示视图。为了支持更多的方向,您必须重写shouldAutorotateToInterfaceOrientation方法,并对子类支持的所有方向返回YES。如果您的视图的自动调整大小属性配置正确,这可能就是您要做的全部。然而,UIViewController类提供了其他钩子,供您根据需要实现其他行为。通常情况下,如果您的视图控制器旨在用作子视图控制器,则应支持所有界面方向。
另外这个链接可能会对您有所帮助http://www.cocos2d-iphone.org/forum/topic/40721。链接中有一些有趣的评论->尝试重写rvc上的shouldAutoRotate方法,并在那里放置条件语句。据我测试,即使应用了所有修复程序,在iOS 6上也不会调用shouldAutoRotateToInterfaceOrientation,因此我不得不覆盖几个方法。
请给我回馈,谢谢:)

1
哇。感谢您的帮助。^^ 开心! 我的解决方案:
  • 我创建了一个新的文件UIViewController(创建一个rootviewController)。
  • 然后,在这个类中覆盖了ViewController。 例如: - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation { 返回YES; }
  • 在我的故事板中,我使用这个类作为我的RootView。 ==> 详情我不知道如何解释。
- Chu Bao .Dev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接