Status bar ist Landschaft, aber [[UIApplication sharedApplication] statusBarOrientation] zurück portrait
Dieses problem taucht unregelmäßig, aber ich bin nicht sicher, warum genau. Wann läuft meine Anwendung auf dem Gerät (iPad), habe ich etwas code zum laden einer scroll-view mit Bild-Ansichten nach der aktuellen Geräte-Orientierung. Obwohl das Gerät Landschaft vor dem laden, die Ansichten geladen werden, als ob es Porträt.
Die Orientierung wird durch den Aufruf [[UIApplication sharedApplication] statusBarOrientation]
.
Die Ansichten sind so eingestellt, passen Sie Ihre Positionen, wenn das Gerät gedreht wird, und in der Tat drehen in das hochformat und wieder zurück in das Querformat gibt Sie an die richtige Landschaft Positionen. Ist es der Fall, dass alle Anwendungen beginnen im hoch-und Wechsel bald auf Landschaft, falls erforderlich? Bin ich versucht zu überprüfen, die Ausrichtung zu früh (während der init
von der ersten view-controller geladen werden)?
InformationsquelleAutor der Frage Stuart | 2011-04-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie Unterklassen UIWindow oder die status-Leiste sehen Sie das denn, dass das ipad die native Orientierung. Die UIWindow übersetzt die Orientierung und die Koordinaten in das, was wir gewöhnt sind. Nachdem Sie makeAndKeyVisible, Ihr Gerät und interface-Orientierung in view-Controller sein sollte als erwartet. Wäre Sie nicht zufällig mit MTStatusBarOverlay würden Sie? Ich ging durch die gleiche Sache, und es kam auf die Reihenfolge der instatiation.
InformationsquelleAutor der Antwort Greg Combs
Feste Ordnung.
Mit UINavigationController, wenn ich popToViewController:animiert: aus einem Querformat ein hochformat, die Ziel-Ansicht korrekt angezeigt wird, aber der status-bar und auch die UIKeyboard hält die Landschaft Konfiguration, so dass ein echtes Chaos.
Arbeiten rund um
Nach tausenden von Empfehlungen über statusBarOrientation und Referenzen Lesen...
https://developer.apple.com/library/content/releasenotes/General/RN-iOSSDK-6_0/index.html
statusBarOrientation funktioniert nur, wenn supportedInterfaceOrientations gibt 0 zurück, so... dass geben Sie uns eine Schätzung.
Wenn statusBarOrientation ist nicht, wie erwartet, eine null-Rendite wird es tun (wenn immer 0 zurück, wird die Ansicht nicht drehen, also:
Nun, in viewDidAppear (glauben Sie mir, ich mit diesem Aufruf, auch wenn die Tastatur Benachrichtigung recived:
mehr als 48 Stunden Arbeit in diese.
Hoffe, das hilft eine Weile, Dank an alle.
InformationsquelleAutor der Antwort SyntheticMeshwork
Nur für den Fall jemand anderem läuft in dieser, sehe ich eine Menge von apps, die ähnliche Probleme in iOS 5 eigentlich auf dem iPhone.
Könnte es ein bug in iOS 5 oder nur einen Eingriff mit einem gemeinsamen Verhalten...
Ich benutze ein custom root-view-controller-Klasse (ein UITabBarController Unterklasse, keine Ahnung ob das von Bedeutung ist) und in dieser Klasse habe ich überschrieben "shouldAutorotateToInterfaceOrientation" nur starten, drehen nach meinem ersten Bildschirm setup fertig ist (tut sonst Durcheinander einige Sachen).
Was ich jetzt Tue, ist ich re-verwenden Sie diese Klasse, um auch die statusBarOrientation manuell, portrait, bevor ich ermöglichen Drehungen und, was das UI dreht sich um danach.
Ich glaube, das könnte DIESES Problem lösen, auch wenn die Ursache vielleicht nicht.
InformationsquelleAutor der Antwort coolio
Wenn Sie ein Problem beim Start, müssen Sie die Verwendung von UIDevice um die Geräteausrichtung, da statusBarOrientation wird immer sein Porträt erst nach application:didFinishLaunchingWithOptions:. Die einzige Einschränkung ist, dass Sie brauchen, um die Lage des Gerätes Benachrichtigungen vor oder Fragen UIDevice für die Orientierung.
InformationsquelleAutor der Antwort Mark Krenek
Bist du sicher, dass du alle diese Infos.plist ?
InformationsquelleAutor der Antwort honcheng