supportedInterfaceOrientations funktioniert nicht

7

Ich möchte einige meiner ViewControllers-Landschaften und einige Portraits, also habe ich Folgendes gemacht:

Ich habe den Landschaftsmodus aktiviert:

Als nächstes habe ich diese Codezeilen zu den View-Controllern hinzugefügt, die ich Portrait:

sein wollte %Vor%

Wenn ich sie jedoch drehe, gehen sie trotzdem in den Querformatmodus. Wie kann ich das beheben?

    
Abdullah Shafique 14.02.2014, 17:28
quelle

4 Antworten

12

Hier ist, wie ich es mache.
Erstellen Sie eine UINavigationController-Elternklasse.
in dir überschreibt UINavigationController (Eltern) diese Methoden wie:

%Vor%

Nun sollte Ihr NavigationController eine Unterklasse des übergeordneten UINavigationContorller

sein

Schnell 3:

In Ihrer UINavigationController-Unterklasse tun Sie dies

%Vor%

Aktualisieren Aus Matts Antwort , wenn Sie keine Unterklasse erstellen möchten:

zuerst: Machen Sie Ihren viewController zu einem Delegaten der navigationController in viewDidLoad

%Vor%

Deklarieren Sie anschließend die UIViewController-Erweiterung so, dass sie auf die Delegate-Methode wie folgt reagiert:

%Vor%     
Basheer_CAD 14.02.2014, 17:34
quelle
16

Die von Apple entworfene Vorgehensweise für UINavigationController ist via UINavigationControllerDelegate .

Normalerweise aktualisiere ich diesen Delegaten, um die folgenden Aufgaben auszuführen und delegiere ihn an den obersten, im Controller-Stack des Controllers angezeigten Controller:

%Vor%

Meiner Meinung nach sollte das UINavigationController einfach auf das obige Verhalten zurückgreifen, aber das ist die API, die Apple bereitgestellt hat:)

Wie bei der Datei "info plist" deaktiviere ich alle Optionen und behandle alles im Code, da es Probleme für mich in der Vergangenheit verursacht hat und ich es leid war, damit umzugehen.

    
Matt 23.12.2014 16:08
quelle
2

Nur für Sie alle Informationen, Erstellen Sie ein neues Projekt Single-View-basierte Anwendung, Implementieren Sie das sollte automatisch Delegate und die unterstützteInterface-Ausrichtung in ViewController drehen Haltepunkt darin einfügen.

Der Lauf (Universalmodus)

  1. im iphone simulator: Ausführung stoppt an Haltepunkten
  2. auf dem iPad Simulator: Ausführungen STOPPT NICHT (Delegierte Methoden werden nie aufgerufen !!!!)
  3. auf dem iPad Gerät: ok

Also verschwende nicht zu viel Zeit darauf, wie ich es getan habe, Xcode 7.3 ist BUGGED

    
Vassily 23.08.2016 15:33
quelle
0

Sie können die Antwort in dem folgenden Post sehen:

iOS 6 Rotationen: supportedInterfaceOrientations funktioniert nicht?

>

Lass es mich wissen, wenn es dein Problem ist.

    
Luis Jacintho 14.02.2014 17:33
quelle

Tags und Links