Ios [UIDevice cuurentDevice]。返回appDidBecomeActive回调中以前的值的方向

Ios [UIDevice cuurentDevice]。返回appDidBecomeActive回调中以前的值的方向,ios,device-orientation,uideviceorientation,Ios,Device Orientation,Uideviceorientation,如果我通过按home按钮将应用程序带到后台,然后更改设备方向并将应用程序带到前台,我仍然会在[UIDevice currentDevice].orientation中获得上一个设备方向值 例如,我将设备保持在默认方向,将应用程序置于背景,并将设备旋转到向上向下的方向,然后将应用程序置于前景,在查询时,deviceOrientation仍然是默认的。仅在一段时间后,才会调用beginDeviceOrientationEvents的侦听器,并且正确的值可用 因此,我想问,在应用程序重新启动时,获取d

如果我通过按home按钮将应用程序带到后台,然后更改设备方向并将应用程序带到前台,我仍然会在[UIDevice currentDevice].orientation中获得上一个设备方向值

例如,我将设备保持在默认方向,将应用程序置于背景,并将设备旋转到向上向下的方向,然后将应用程序置于前景,在查询时,deviceOrientation仍然是默认的。仅在一段时间后,才会调用beginDeviceOrientationEvents的侦听器,并且正确的值可用


因此,我想问,在应用程序重新启动时,获取deviceOrientation正确值的第一个位置应该是哪里?

在应用程序代理的
ApplicationIDBecomeActive
方法中使用
[[UIDevice currentDevice]orientation]
(as)

更新


事实上,
[[UIApplication sharedApplication]statusBarOrientation]
可能更有用,因为返回的值考虑了您将应用程序设置为与哪些方向兼容。

使用
[[UIDevice currentDevice]方向]
(as)在应用程序中,代理的
applicationIDBecomeActive
方法

更新


事实上,
[[UIApplication sharedApplication]statusBarOrientation]
可能更有用,因为返回的值考虑了您将应用程序设置为兼容的方向。

您是否尝试过:-(void)application identinterbackground:(UIApplication*)application//存储上一个/当前方向-(void)应用程序将进入前台:(UIApplication*)应用程序//获取最后一个方向并将其设置为您当前的方向您误解了问题!当应用程序被带到前台时,我想获得正确的deviceOrientation值。当应用程序被发送到后台时,我得到的不是当前的deviceOrientation,而是deviceOrientation。您是否尝试过:-(无效)ApplicationIdentinterBackground:(UIApplication*)应用程序//存储最后/当前方向-(无效)应用程序将进入前台:(UIApplication*))应用程序//获取最后一个方向并将其设置为当前方向您误解了问题!当应用程序被带到前台时,我想获得正确的deviceOrientation值。当应用程序被发送到后台时,我获取的不是当前的deviceOrientation,而是deviceOrientation。您是否尝试过在应用程序激活周期的稍晚时间获取该值?我刚刚在苹果公司的网站上读到,当应用程序被暂停时,像定向这样的通知会被排队,一旦应用程序再次激活,就会被发送出去。可能是在调用了
ApplicationIDBecomeActive
之后才发出定向通知。是的,我在应用程序周期的晚些时候获得了正确的值,但我希望它在appDidBecomeActive时是正确的。您是否尝试过在应用程序激活周期的晚些时候获取该值?我刚刚在苹果公司的网站上读到,当应用程序被暂停时,像定向这样的通知会被排队,一旦应用程序再次激活,就会被发送出去。有可能是在调用了
ApplicationIDBecomeActive
之后才发出定向通知。是的,我在应用程序的周期中稍后获得了正确的值,但我希望它在appDidBecomeActive时是正确的。