2016-02-08 8 views
5

Ich habe eine UITabBarController Unterklasse und hat den folgenden Code:supportedInterfaceOrientations nicht in iPad genannt

class TabBarController: UITabBarController { 

// MARK: Methods 

override func viewDidLoad() { 

    super.viewDidLoad() 

} 

override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask { 

    print(self.selectedIndex) 
    if self.selectedIndex == 1 { 
     return .Portrait 
    } 

    return .All 


    } 

} 

Die Funktion supportedInterfaceOrientations nur aufgerufen, wenn ich die app von einem iPhone ausführen. Wenn ich die App von meinem iPad mini ausführe, wird sie nicht aufgerufen. Irgendeine Idee von dem Grund dieses Verhaltens?

Antwort

25

Es ist sehr seltsam, aber wenn ich Upside Down von der Geräteausrichtung für iPads deaktivieren supportedInterfaceOrientations aufgerufen wird.

enter image description here

UPDATE:

Wenn 'Vollbild Benötigt' von 'Allgemein' Einstellung ist, ermöglicht die Orientierung Delegatmethoden shouldAutorotate, preferredInterfaceOrientation und supportedInterfaceOrientations Feuer ermöglichen.

+0

Einstellung UIRequiresFullScreen auf YES bedeutet, dass die App Multitasking nicht mehr unterstützt. Dies ist möglicherweise keine gute Idee, abhängig von Ihrem Anwendungsfall. Siehe https://developer.apple.com/library/content/documentation/WindowsViews/Conceptual/AdoptingMultitaskingOniPad/QuickStartForSlideOverAndSplitView.html#//apple_ref/doc/uid/TP40015145-CH13-SW1 – Klaas

Verwandte Themen