我正在调试一个在iOS7.1中运行良好的项目,但是在iOS 8.0中没有正确显示它的内容。我把问题缩小到这个方法:
[self orientRootViewControllerForOrientation:rootViewController.interfaceOrientation];
iOS8不再从rootViewController.interfaceOrientation
返回正确的UIInterfaceOrientation ,而是返回“颠倒”。
阅读文档,我遇到了一个神秘的信息:
使用viewWillTransitionToSize:withTransitionCoordinator:来制作 基于界面的调整。
阅读UIViewControllerTransitionCoordinator上的文档,我看不到它有任何属性。 如何修改我希望界面方向从UIViewControllerTransitionCoordinator获取方向的方法?
答案 0 :(得分:2)
基本上,您现在应该根据可用的大小来布局内容,而不是轮换。这导致支持旧的基于旋转的代码的巨大痛苦。
视图控制器转换协调器提供具有旋转因子的UIViewControllerTransitionCoordinatorContext。这可以给你你需要的提示吗? 这个blog post也提到了这一点。
您还拥有常用设备([UIDevice currentDevice].orientation
)或状态栏方向。
如果您正在使用iOS 6轮换方法,this post也有相关信息。