Zwingen Orientierung ändern
Ich habe eine tab-basierte Anwendung, in der ein tab ist sowohl in hoch-und Querformat, alle anderen sind nur verfügbar, im portrait.
Checke ich gegen den button aktiviert, damit die rotation in shouldAutorotateToInterfaceOrientation: oder auch nicht, aber wenn ich im landscape-Modus, wenn ich wählen Sie eine andere Registerkarte, die ich brauche zu laden, die Ansicht-controller, sondern auch Kraft, meine Bewerbung in den normalen hochformat Modus.
Scheint es nicht zu sein, eine klare und bevorzugt wurde, um dies zu tun, ich habe versucht, die Einstellung der status-bar der Orientierung, wird jedoch der status-bar war die einzige visuelle element zu bewegen.
Tipps und Beispiele wäre Super, danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich in der Lage, dies zu tun, aber ich warne dich jetzt, es ist ein hack.
Zuerst habe ich eine Kategorie für UITabBarController genannt
UITabBarController+SelectiveRotation
:Dies ermöglicht es der TabBar-frei drehen, wenn die ausgewählte Registerkarte ermöglicht eine Orientierung. Stellen Sie sicher, dass Sie diese Datei importieren, wo Sie erstellen Ihre
UITabBarController
(wahrscheinlich in Ihrer Anwendung Delegierten).Dann hatte ich meine AppDelegate machen sich die Delegierten der tab-Leiste, und ich implementiert diese Methode:
Diese zweite bit der code erzwingt die tab-Leiste zu drehen, um eine akzeptable Orientierung, wenn Sie die Registerkarte änderungen. Zum Beispiel, wenn Sie gehen, um die Registerkarte, drehen kann, und gehen Sie auf Querformat, dann gehen Sie auf eine Registerkarte, unterstützt nur portrait, es werde Kraft, die änderung der Ausrichtung auf hochformat. Auf iOS 4.3 und früher, geht zurück auf das gedrehte Registerkarte präsentieren in der Orientierung, Sie ließ es in. Ich konnte nicht herausfinden, ein Weg, um die.
Ich all dies Tat, denn es war eine client-Anforderung, aber ich glaube nicht, dass das ist eigentlich ein sehr brauchbares design. Ich finde nicht zu viele visuelle tweaks zu verwirrend, aber zwingt das Gerät zu drehen, indem diese Methode ist sehr erschütternd, weil es augenblicklich. Möchten Sie vielleicht, um es auszuprobieren und zu sehen, wie Sie sich fühlen.
-(BOOL)setUIOrientation:(int)orientation animated:(BOOL)animated forced:(BOOL)forced;
)UIMoviePlayerController
ist alloc durchUIWebView
beim Abspielen von Videos, wenn Ihre Anwendung unterstützt nur portrait-Modus, das UIMoviePlayerController zwingen kann, ändern Sie Ihre Ausrichtung auf Querformat, dann werden Sie sehen das gebrochene Porträt layout präsentiert im landscape-Modus, nachdem Sie klicken Sie auf die Schaltfläche "Fertig". p.s. Private APIIch denke, wenn Sie nur den folgenden code verwenden, und es sollte gut funktionieren.
}