Modal View Controller Force Querformat in iOS 6

8

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.

    
Darren 21.08.2012, 18:04
quelle

4 Antworten

7
  

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.

    
Esmond 03.10.2012, 20:24
quelle
6

Wenn Sie die Rotation in iOS6 erzwingen wollen, sollte Ihr rootviewController diese Methoden implementieren:

%Vor%     
miham 03.10.2012 08:44
quelle
1

In iOS 6 scheint diese Methode eine bestimmte Ausrichtung auf iOS 6 zu erzwingen.

%Vor%

Ich versuche immer noch, es zum Laufen zu bringen und werde mit irgendwelchen Ergebnissen aktualisieren.

    
CoderDan 24.09.2012 19:07
quelle
0

Ich mache genau das in meiner App und tue es mit shouldAutoRotateToInterfaceOrientation, etwas anders als du:

%Vor%

für iOS 6 müssen Sie auch window.rootViewController = {Ihr root view controller}; in Ihrem App-Delegierten. Ich hoffe, das ist dein Problem

    
CSmith 21.08.2012 18:14
quelle