当应用程序委托中出现平坦问题时 iPad 启动方向

2024-03-03

和许多人一样,我有一个启动屏幕,它会以动画方式显示我的应用程序的第一个视图。我一直在针对 iPad 重新设计此功能,如果您以纵向或横向模式握住设备,一切都会按预期工作,使用正确的默认图像,使用用于动画关闭的正确图像,所有方向都有效美好的。

BUT

如果我将设备设置为横向模式,然后将其平放在桌子上,就会出现问题。使用了正确的启动屏幕,但用于动画关闭的图像是错误的,我已将其追溯到以下代码,该代码返回 5 - 即没有任何它应该返回的 Portraitupsidedown / Portrait / LandscapeLeft / LandscapeRight 模式。

[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
UIInterfaceOrientation orientation = [UIDevice currentDevice].orientation;

设备本身清楚地知道要使用的正确方向,因为状态栏是正确的,并且第一个视图控制器确实旋转到正确的方向 - 但清楚的是 [UIDevice currentDevice].orientation 与设备实际知道的不同,并且因此我用来在应用程序委托内部署适当图形的代码是错误的。

我想我的问题是 - 我该如何解决这个问题?有没有办法在应用程序委托中获得正确的设备方向?


The UIInterfaceOrientation是一个子集UIDeviceOrientation. If UIDeviceOrientationIsValidInterfaceOrientation是假的,那么你通常可以假设UIInterfaceOrientationPortrait。除了检查设备方向外,您还可以检查statusBarOrientation of UIApplication,但在启动时它也可能没有有效值。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当应用程序委托中出现平坦问题时 iPad 启动方向 的相关文章

随机推荐