1

我正在调试一个在 iOS7.1 中运行良好的项目,但在 iOS 8.0 中没有正确布置它的内容。我已将问题缩小到这种方法:

 [self orientRootViewControllerForOrientation:rootViewController.interfaceOrientation];

iOS8 不再从中返回正确的 UIInterfaceOrientation rootViewController.interfaceOrientation,而是返回“颠倒”。

阅读文档,我遇到了一个神秘的信息:

使用 viewWillTransitionToSize:withTransitionCoordinator: 进行基于界面的调整。

阅读有关 UIViewControllerTransitionCoordinator 的文档,我看不到它有任何属性。如何修改期望界面方向的方法以从 UIViewControllerTransitionCoordinator 获取它的方向?

4

1 回答 1

2

基本上你现在应该根据可用大小来布局你的内容,而不是旋转。这导致支持旧的基于轮换的代码非常痛苦。

视图控制器转换协调器提供了一个具有旋转因子的UIViewControllerTransitionCoordinatorContext 。这可以给你你需要的提示吗?这篇文也提到了这一点。

您也有通常的设备 ( [UIDevice currentDevice].orientation) 或状态栏方向。如果您正在使用 iOS 6 旋转方法,这篇文章也有相关信息。

于 2014-11-14T10:23:03.457 回答