在没有[[UIApplication sharedApplication] statusBarOrientation]的情况下确定UIViewController的UIInterfaceOrientation?

时间:2016-09-23 12:05:19

标签: ios uiviewcontroller uiinterfaceorientation

我有一些代码,我曾经使用presentingViewController.interfaceOrientation来确定当前UIViewController支持的界面方向。由于interfaceOrientation被弃用,我已经用[[UIApplication sharedApplication] statusBarOrientation]替换了该代码,它运行正常。但是,在iOS9和iOS8中,它不起作用(当我在shouldAutorotateToInterfaceOrientationsupportedInterfaceOrientationspreferredInterfaceOrientationForPresentation中检查方向时,我得到了一些非常有趣的结果。

所以我想知道,无论如何确定视图控制器的界面方向而不使用[[UIApplication sharedApplication] statusBarOrientation]? (需要区分左右横向,纵向右侧和上下颠倒。)

1 个答案:

答案 0 :(得分:0)

您可以使用

检查方向
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
                            duration:(NSTimeInterval)duration
{
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation) == YES) {
    // landscape
}
else {
    // portrait.
}
}