Frage

Ich habe Hauptmenü in meiner app nur Landscape-Modus unterstützt. I Landschaft Einschränkung implementieren, indem UIRootViewController::shouldAutorotateToInterfaceOrientation:... Einrichtung Und ich habe eine andere Szene mit Porträt-Modus unterstützen. Also das Problem erscheint, wenn ich von einer anderen Szene zum Hauptmenü im Portrait-Modus übergeben: die App automatisch drehen, um Landschaft nicht, und ich kann eine Code-Methode nicht finden, um es manuell drehen

.

Gibt es eine Lösung? Wäre dankbar.

Edit: Entschuldigen Sie, ich habe vergessen, Details hinzuzufügen. RootViewController ist für das Menü und eine andere Szene üblich. Und was ist mehr - diese Szenen sind in einer gemeinsamen Ansicht (meine App nutzt OpenGL) Also, bevor ich Menü aus Porträt Szene I Satz UIRootViewController::shouldAutorotateToInterfaceOrientation: geben Sie nur für Landschaft zurückzukehren YES.

War es hilfreich?

Lösung

Wenn Ihre andere Szene mit Portrait Unterstützung von einem anderen UIViewController gesteuert wird, dann können Sie den View-Controller des -shouldAutorotateToInterfaceOrientation verwenden: sein Verhalten zu definieren. In vielen Fällen sollte dies allein ausreichen. Natürlich, wenn Sie für einige View-Controller einige ausgefallene Rotationen tun müssen, aber nicht für andere, dann bekommen die Dinge ein wenig komplizierter.

Andere Tipps

Es gibt keine einfache Möglichkeit, dies zu tun, außer [UIDevice setOrientation:]., Die nicht offen für Entwickler ist, und führte zur Anwendung Ablehnung von Apple

Sie können eine Rotation auf Ihre Ebene anwenden, die genau die gleiche Wirkung erzeugen wird.

myview.layer.transform = CATransform3DMakeRotation(M_PI/2, 0.0f, 0.0f, 1.0f);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top