Auf meinem iPhone App namens ich es habe nur unter den Projektzielen EinsatzinfosupportedInterfaceOrientations auf allen iPhones außer 6+
auf Hochformat beschränkt Es ist eine Seite, die ich nur in der Landschaft will und ich verwende die supportedInterfaceOrientations Methode zu erhalten Das.
Standard-Implementierung:
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.Landscape
}
Es funktioniert perfekt auf allen iPhone-Geräten und iOS-Version außer für iPhone 6+. Die supportedInterfaceOrientations-Methode wird nie aufgerufen.
Ich kann keinen Grund finden, warum dies nur das iPhone 6+ betreffen könnte, würden alle Tipps sehr geschätzt werden.
Ich habe gerade eine leere Single-View-Anwendung erstellt und überprüft, dass 'supportedInterfaceOrientations()' für 6 und 6 Plus aufgerufen wurde. Kann nicht sofort sehen, wie Ihr Code anders wäre, es sei denn, der View-Controller ist ein Child-View-Controller zu etwas anderem wie einer Navigations-VC, Split-VC, Tab-Leiste, VC, usw. Stellen Sie in diesem Fall sicher, dass der Eltern-View-Controller auch wie Sie reagiert Möchte. Einzig anders mit 6 Plus von der Spitze meines Kopfes ist es die Fähigkeit, eine geteilte Ansicht in der Landschaft zu verwenden. Vielleicht etwas da? –
Der wahrscheinlichste Grund ist die Größenklasse für das iPhone 6+ wird reguläre Breite, aber kompakte Breite für alle anderen iPhones, wenn in Landscape vorgestellt. Was für ein Controller ist das: ein normaler View-Controller oder ein Container. Wenn es modal präsentiert wird, glaube ich, dass Sie 'preferredInterfaceOrientationForPresentation' verwenden müssen. –
Laut den Dokumenten wird' supportedInterfaceOrientations' nur auf dem root-View-Controller oder auf Controllern aufgerufen, die den gesamten Bildschirm einnehmen. Die Wahrscheinlichkeit, dass der Controller, den Sie implementieren, dies auf dem iPhone 6+ ist, erfüllt die Kriterien nicht. Welche Art von Controller ist das?Anscheinend sollten Sie 'supportedInterfaceOrientations' in den meisten Containercontrollern wie UINavigationController, UITabBarController und UISplitViewController implementieren. –