Ich habe einen UITabBarController im Portrait-Modus vorgestellt. Auf einer der Registerkarten habe ich eine Schaltfläche, die einen UIViewController modal anzeigt (Ein einfacher Storyboard-Übergang führt die Aktion aus).
Ich möchte, dass diese modale Ansicht im Querformat-Modus angezeigt wird, aber ich kann sie nicht automatisch drehen lassen.
Ich habe das im Modal Views Controller
%Vor%Ich habe landscapeLeft zu den .plist-unterstützten Ausrichtungen hinzugefügt (obwohl dies auch ermöglicht, dass die TabBar gedreht wird, was ich nicht möchte)
Ich habe dies auch der ViewDidLoad der modalen Ansicht hinzugefügt
%Vor%aber ich kann es einfach nicht von selbst drehen lassen.
Danke
BEARBEITEN ----
Es scheint, dass AutoRotate nicht einmal aufgerufen wird!
Ich versuche auch, die Ausrichtung zu erkennen und dieser Code zeigt immer 2, unabhängig von der Ausrichtung!
%Vor%EDIT 2 ---
Mein Schlechter. Ich denke, ich hätte erwähnen sollen, dass ich iOS 6 benutze. Das Display rotiert automatisch auf iOS 5. shouldAutorotateToInterfaceOrientation ist veraltet, daher muss ich die neuen Methoden lesen.
iOS 6.0 - Versionshinweise
"Es wird mehr Verantwortung auf die App und den Anwendungsdelegaten übertragen. iOS-Container (z. B. UINavigationController) konsultieren jetzt nicht ihre untergeordneten Objekte, um festzustellen, ob sie automatisch umlaufen sollen."
-(BOOL)shouldAutorotate
von UIViewController unter einem Container (wie UINavigationController) wird nicht von IOS6 aufgerufen.
Es wurde eine Lösung mit Category zum Hinzufügen einer Methode zur vorhandenen UINavigationController-Klasse versucht.
Innerhalb der Methode shouldAutorotate können Sie die Methode sentAutorotate in jedem View-Controller von self.viewControllers aufrufen. In der Tat können Sie zu Ihrem Kind View Controller übergeben.
Tags und Links ios xcode uiinterfaceorientation cocoa-touch modalviewcontroller