2009-12-21 8 views
14

Ich versuche herauszufinden, welche Ausrichtung das iPhone im Simulator hat und anstatt es mir mit der UIDevice-Orientierungseigenschaft zu geben, bekomme ich nur UIDeviceOrientationUnknown.UIDeviceOrientationUnbekannt im Landscape-Modus

Funktioniert diese Eigenschaft nicht im Simulator? Was könnte der mögliche Grund dafür sein?

Ich bin mit OpenGL ES

+0

Ist das ein Fehler? –

Antwort

12

vor allem aus der Dokumentation über orientation Eigenschaft UIDevice Instanz

Der Wert dieser Eigenschaft gibt immer 0, es sei denn Orientierung Benachrichtigungen durch den Aufruf beginGeneratingDeviceOrientationNotifications aktiviert wurde.

und ja, es wird nur auf dem echten Gerät funktionieren. aber Sie können zum Beispiel this Beschleunigungssensor-Simulator verwenden.

+0

Sorry, aber nein, es funktioniert nicht nur auf dem echten Gerät. Ich habe gerade eine Ausrichtung der Querformatausrichtung auf dem Simulator und dann ein Portrait aufgenommen. Vielleicht war das bei früheren SDK-Versionen nicht der Fall ... (Ich bin auf 3.1.3) Ich denke, wir können - [UIApplication statusBarOrientation] verwenden, um die aktuelle Schnittstellenausrichtung zu bestimmen (außer wenn wir die Statusleiste manuell ändern)). Und ich bin mir nicht sicher, ob dies mit einer versteckten Statusleiste funktioniert. – Unfalkster

+0

nicht funktioniert auch auf einem iPad mit 4.2.1 – SpaceDog

+1

Dies funktioniert auf dem Simulator, nur nicht die ganze Zeit. Verwenden Sie [[UIApplication sharedApplication] statusBarOrientation], wie in der Antwort unten erwähnt. –

44

Sie können auch verwenden:

UIInterfaceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation]; 

, die auch funktioniert ohne beginGeneratingDeviceOrientationNotifications aufrufen.

+0

schön es funktioniert und rettete mir nur einige Kopfschmerzen =) – Dave

+0

beste Lösung. Ich habe festgestellt, dass das Problem in iOS 6 und auf dem neuen iPad aufgetreten ist. Deine Tipps haben mein Problem gelöst. Vielen Dank –

+2

Frohes iOS hat diese Alternative! – RyJ

Verwandte Themen