iphone在应用启动时获取设备方向

Posted

技术标签:

【中文标题】iphone在应用启动时获取设备方向【英文标题】:iphone get device orientation on app launch 【发布时间】:2011-05-23 06:44:00 【问题描述】:

如何在 applicationDidFinishLaunching() 方法中获取设备方向。我试过 UIDevice deviceorientationStatusbarOrientaion。两者都返回不正确的值(相同的方向值与当前方向无关)。

基本上,我正在尝试根据设备方向加载图像,直到应用程序(webview)完成加载。所以我想我可以在这里确定当前方向并加载适当的图像(4张图像中,每个方向一张)。

顺便说一句,我在 plist 文件中添加了支持的界面方向。

如果您需要任何其他信息来正确解决此问题,请告诉我 问题。

谢谢

【问题讨论】:

【参考方案1】:

在调用 beginGeneratingDeviceOrientationNotifications 之前,UIDevice 方向的值是无效的

http://developer.apple.com/library/ios/documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html#//apple_ref/occ/instm/UIDevice/beginGeneratingDeviceOrientationNotifications

你先打过这个电话吗?

【讨论】:

是的,我也尝试过添加它。我忘了在我的问题描述中提到它。【参考方案2】:

我根据这篇文章使用[[UIApplication sharedApplication] statusBarOrientation]:http://www.ddeville.me/2011/01/getting-the-interface-orientation-in-ios/

那是你试过的,你说没有用吗?我在使用[[UIDevice currentDevice] orientation] 时遇到了麻烦,但状态栏起到了作用——尽管applicationDidFinishLaunching 中没有。我在旋转回调方法中使用它,无论如何都会立即调用它。 (并且回调似乎在应用程序启动时被连续调用两次,第一次使用不正确的UIDeviceOrientationPortrait,第二次使用正确的方向。)

【讨论】:

以上是关于iphone在应用启动时获取设备方向的主要内容,如果未能解决你的问题,请参考以下文章

应用程序将在设备-iPhone 上安装后自动启动

检测 iPhone 移动是不是改变方向?

iPhone 模拟器启动时的 EXC_BAD_ACCESS。应用程序在设备上运行

在设备上运行 iPhone 应用程序时出错

iPhone应用程序的横向启动画面?

iPhone模拟器:默认启动iPad?