2009-12-21 117 views
14

我想弄清楚iphone在模擬器中有什麼方向,而不是使用UIDevice方向屬性給我,我只是得到UIDeviceOrientationUnknown。UIDeviceOrientation未知在橫向模式下

此屬性不能在模擬器中工作嗎?可能的原因是什麼?

我使用的OpenGL ES

+0

這是一個錯誤? – 2014-08-25 10:05:20

回答

12

首先,從文檔約orientation的UIDevice例如

除非取向通知已通過調用beginGeneratingDeviceOrientationNotifications啓用此屬性的值總是返回0的財產。

是的,它只會在真實的設備上工作。但您可以使用例如this加速度計模擬器。

+0

對不起,它不適用於真實設備。我只是在模擬器上記錄了一個風景設備的方向,然後是一個人像。也許它不是以前的SDK版本...(我在3.1.3上) 我想我們可以使用 - [UIApplication statusBarOrientation]來確定當前的界面方向(除非我們手動更改狀態欄方向)。而且我不確定這是否可以與隱藏狀態欄一起使用。 – Unfalkster 2010-03-31 23:19:38

+0

也不能在iPad上使用4.2.1 – SpaceDog 2011-01-17 21:59:11

+1

這可以在模擬器上工作,而不是所有的時間。如下面的答案中所述,使用[[UIApplication sharedApplication] statusBarOrientation]。 – 2012-06-19 21:55:18

44

您還可以使用:

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; 

甚至工作,而無需調用beginGeneratingDeviceOrientationNotifications

+0

不錯,它的工作原理和剛剛救了我一些頭痛=) – Dave 2012-02-20 03:07:16

+0

最好的解決方案。我發現問題發生在iOS 6和新iPad上。您的提示解決了我的問題。非常感謝 – 2012-10-17 09:17:02

+2

很高興iOS有這個選擇! – RyJ 2013-08-09 16:39:44