2010-08-19 18 views
9

In meiner App erscheint ein Bild, wenn der Benutzer das Gerät schüttelt. Es gibt verschiedene Bilder für Quer- und Hochformat. Wenn die Ausrichtung des iPhone Hoch- oder Querformat ist, funktioniert es gut. Aber wenn es UIDeviceOrientationFaceDown oder UIDeviceOrientationFaceUp ist, sollte das Bild von der zuletzt verwendeten Ausrichtung abhängen, da die Ansicht für diese Ausrichtung weiterhin angezeigt wird.Wie erhält man die aktuelle Ausrichtung des iPhone Views oder die letzte Ausrichtung des Geräts?

Wie kann ich die letzte Ausrichtung des Geräts erhalten?

Antwort

26

Ich habe es herausgefunden! Ich musste die Ausrichtung der Statusleiste überprüfen!

[UIApplication sharedApplication].statusBarOrientation 
+0

danke wirklich viel :)))) – cV2

+2

Was ist, wenn die Statusleiste ausgeblendet ist? – Shailesh

+0

Great bro Danke !!! –

2

Nun in der shallAutoRotate-Methode einer Klasse, die es in einem Parameter namens interfaceOrientation übergibt. Diese Methode wird immer dann aufgerufen, wenn sich die Ausrichtung des Geräts ändert. Sie können dies als Variable speichern und zu einem späteren Zeitpunkt betrachten, um die letzte Orientierung zu bestimmen.

1 = standard portrait 
2 = upsidedown 
3 = button right landscape 
4 = button left landscape. 

Auch der Aufruf von self.interfaceOrientation gibt Ihnen die aktuelle Geräteausrichtung.

Hoffe, dass Sie zumindest in die richtige Richtung gestartet werden.

+0

self.interfaceOrientation gibt mir nur UIDeviceOrientationFaceDown (Up), so dass es nicht hilft. Ich werde versuchen, herauszufinden, ob die interfaceOrientation der shouldAutoRotate-Methode überschrieben wird, wenn die Ausrichtung FaceUp ist. Vielen Dank! – Knodel

Verwandte Themen