Ich habe eine App, wo ich eine UINavigationController
Unterklasse als meine rootViewController
habe. Ich habe eine UITableViewController
, die der Benutzer einige Einstellungen bearbeiten kann, sollte es immer im Hochformat sein. Meine App muss auch alle anderen Orientierungen unterstützen, nachdem ich eine MoviePlayer-Komponente auf den Navigationscontroller geschoben habe.iOS 6 Auto Rotation Problem - supportedInterfaceOrientations Rückgabewert nicht respektiert
Die UITableViewController
Unterklasse hat diese Implementierung von supportedInterfaceOrientations:
- (NSUInteger)supportedInterfaceOrientations {
LLog();
return UIInterfaceOrientationMaskPortrait;
}
Die Logging-Befehl sagt mir, dass dies tatsächlich aufgerufen wird.
Das Problem ist, dass der Rückgabewert nicht respektiert wird, d. H. Der Bildschirm wird in Querformat gedreht, wenn ich das Gerät drehe.
Was kann ich tun, damit die Einstellungsansicht immer im Hochformat angezeigt wird, aber Änderungen der Ausrichtung für den Video Viewer möglich sind?
Weitere Informationen: Meine UINavigationController
Unterklasse überschreibt shouldAutorotate oder supportedInterfaceOrientations nicht. Ich habe nicht
- (NSUInteger)application:(UIApplication *)application
supportedInterfaceOrientationsForWindow:(UIWindow *)window
Methode in meinem AppDelegate und ich habe alle Orientierungen in der Ziel Zusammenfassung aktiviert.
Dies ist definitiv eine kreative Lösung, aber ich kann nicht glauben, dass dies, was Apple erwartet, dass wir tun. Ich habe Probleme, ihr neues Autorotationsschema zu verstehen. Sie sagen die obersten ViewController-Regeln im Vollbildmodus. Aber, wie Sie darauf hinweisen, ist der oberste Vollbild-ViewController in vielen Fällen der NavigationController. Müssen wir dann eine Unterklasse erstellen oder eine Kategorie erstellen, um die supportedInterfaceOrientations-Nachricht zu implementieren? Fühlt sich nicht richtig an. – eddy
Es fühlt sich auch nicht richtig an, vielleicht ist es nur ein Fehler in der Apple-Implementierung. – Mindaugas
Dies funktioniert nicht für mich. Ich habe versucht Subclassing als auch Kategorien nicht sicherstellen Methode Override :( – Pacu