iOS8如何从UIViewControllerTransitionCoordinator了解界面方向?

时间:2014-09-29 15:58:33

标签: objective-c ios8 uiinterfaceorientation autorotate transition-coordinator

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

 [self orientRootViewControllerForOrientation:rootViewController.interfaceOrientation];

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

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

  

使用viewWillTransitionToSize:withTransitionCoordinator:来制作   基于界面的调整。

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

1 个答案:

答案 0 :(得分:2)

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

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

您还拥有常用设备([UIDevice currentDevice].orientation)或状态栏方向。 如果您正在使用iOS 6轮换方法,this post也有相关信息。