iphone在应用启动时获取设备方向
Posted
技术标签:
【中文标题】iphone在应用启动时获取设备方向【英文标题】:iphone get device orientation on app launch 【发布时间】:2011-05-23 06:44:00 【问题描述】:如何在 applicationDidFinishLaunching() 方法中获取设备方向。我试过 UIDevice deviceorientation 和 StatusbarOrientaion。两者都返回不正确的值(相同的方向值与当前方向无关)。
基本上,我正在尝试根据设备方向加载图像,直到应用程序(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在应用启动时获取设备方向的主要内容,如果未能解决你的问题,请参考以下文章