Der Start im Hochformat von einem iPhone 6 Plus-Startbildschirm im Querformat führt zu einer falschen Ausrichtung.

Der eigentliche Titel für diese Frage ist länger als ich passen kann:

Der Start einer App, deren Root-Ansichts-Controller nur die Ausrichtung im Hochformat unterstützt, ansonsten jedoch die Ausrichtung im Querformat auf einem iPhone 6 Plus, während sich der Startbildschirm im Querformat befindet, führt zu einem Schwebezustand, in dem sich das Fenster der App im Querformat, aber auf dem Gerät befindet ist im Hochformat.

Kurz gesagt sieht es so aus:

Wenn es so aussehen soll:

Schritte zum Reproduzieren

iPhone 6 Plus mit iOS 8.0.

Eine App, deren Plist alle Ausrichtungen außer Hochformat unterstützt.

Der Root-View-Controller der App ist ein UITabBarController.

Alles, der Tab-Leisten-Controller und alle untergeordneten View-Controller geben @ zurücUIInterfaceOrientationMaskPortrait vonsupportedInterfaceOrientations.

Starten Sie auf dem iOS-Startbildschirm.

Zur Ausrichtung im Querformat drehen (iPhone 6 Plus erforderlich).

Kaltstart der App.

Ergebnis: fehlerhafte Schnittstellenausrichtungen.

Ich kann mir keinen anderen Weg vorstellen, um eine Porträtorientierung durchzusetzenauße, um die Landschaft insgesamt zu deaktivieren, was ich nicht kann: Unsere Controller für modale Webbrowser-Ansichten benötigen die Landschaft.

Ich habe sogar versucht, UITabBarController in Unterklassen zu unterteilen und supportedInterfaceOrientations zu überschreiben, um die Nur-Porträt-Maske zurückzugeben, aber dies (auch mit allen anderen obigen Schritten) hat das Problem nicht behoben.

Hier ist ein Link zu einem Beispielprojekt, das den Fehler zeigt.

Antworten auf die Frage(13)

Ihre Antwort auf die Frage