Wenn Sie im Querformat von einem iPhone 6 Plus-Startbildschirm in Hochformat-Ausrichtung starten, führt dies zu einer falschen Ausrichtung

Der eigentliche Titel für diese Frage ist mehr, als ich vielleicht passen:

Starten einer app, deren root-view-controller unterstützt nur portrait-Orientierung aber, die sonst unterstützt Querformat auf dem iPhone 6 Plus, während der home-screen im Querformat Ergebnisse in einem limbo-Zustand, wo das app-Fenster im Querformat, aber das Gerät wird im hochformat.

Kurz gesagt, es sieht wie folgt aus:

Wenn Sie im Querformat von einem iPhone 6 Plus-Startbildschirm in Hochformat-Ausrichtung starten, führt dies zu einer falschen Ausrichtung

Wenn es Aussehen soll wie dieses:

Wenn Sie im Querformat von einem iPhone 6 Plus-Startbildschirm in Hochformat-Ausrichtung starten, führt dies zu einer falschen Ausrichtung

Schritte zum Reproduzieren:

  1. iPhone 6 Plus mit iOS 8.0.

  2. Einer app, deren plist unterstützt alle-aber-portrait-upside-down-Orientierungen.

  3. Dem root-view-controller ist die app ein UITabBarController.

  4. Alles, die tab bar controller und alle seine Nachfahren child-view-Controller zurück UIInterfaceOrientationMaskPortrait aus supportedInterfaceOrientations.

  5. Start in iOS home-Bildschirm.

  6. Drehen ins Querformat (erfordert iPhone 6 Plus).

  7. Kalt-starten Sie die app.

  8. Ergebnis: gebrochen Ausrichtungen.

Ich kann mir nicht vorstellen, dass es eine andere Art und Weise durchzusetzen, hochformat außer zu deaktivieren, die Landschaft insgesamt, die ich nicht tun kann: unsere web-browser-modal-view-Controller benötigen Landschaft.

Ich habe sogar versucht Unterklassen UITabBarController und überschreiben supportedInterfaceOrientations die Rückkehr der Porträt-nur die Maske, sondern diese (auch mit allen anderen oben genannten Schritte) das Problem nicht behoben.


Hier ist ein link zu einem Beispiel-Projekt zeigt den Fehler.


InformationsquelleAutor der Frage jaredsinclair | 2014-09-23

Schreibe einen Kommentar