设备的方向在iOS 8.1.3中被错误地返回

问题描述:

我正在从控制器导航到另一个控制器(调用设备相机),但发现第二个控制器的方向由iOS作为纵向返回,尽管我处于肖像模式。设备的方向在iOS 8.1.3中被错误地返回

当我在第一个控制器时,我开始使用肖像模式,然后将设备倾斜到横向模式并导航到下一个控制器(它调用相机)。

我只想在方向为横向时执行一些活动,所以我检查了这个条件,但是即使当我将设备置于横向时控件也不会进入此状态。

if(orientation == UIDeviceOrientationLandscapeLeft || orientation == UIDeviceOrientationLandscapeRight) 
{ 
    // perform an activity 
} 
+1

你如何得到方向?可能是这个值是在“旋转屏幕之前”获得的。 – 2015-03-02 12:13:19

+0

请输入更多的代码。很难建议一些东西。你如何初始化你的'orientation'变量?你用什么设备?您的应用程序是否支持横向或仅纵向? – 2015-03-02 12:15:05

+0

我正在使用 UIDeviceOrientation orientation = [UIDevice currentDevice] .orientation; 我只在点击事件期间(当设备处于横向模式时) – 2015-03-03 10:12:34

您可以通过使用[[UIApplication sharedApplication] statusBarOrientation]属性来获取精确定向。点击here进行快速比较。