2016-03-21 20 views
5

Ich habe ein komisches Problem in Bezug darauf, wie ich die Bildschirmausrichtung einschränke.Segue bewirkt, dass UITabBarController die Statusleiste in Swift verschiebt?

Hier ist, was mein Storyboard wie folgt aussieht:

enter image description here

I Bildschirmausrichtung nur auf Portrait gesetzt.

In meinem AppDelegate, habe ich folgendes:

func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask 
{ 
    if self.window?.rootViewController?.presentedViewController is VideoPlayerViewController 
    { 
     return UIInterfaceOrientationMask.Landscape; 
    } 
    else 
    { 
     return UIInterfaceOrientationMask.Portrait; 
    } 
} 

In der Registerkarte Start entweder das Rote Play-Taste oder eine der Zellen klicken, wird ein Übergang zu meinem VideoPlayerViewController auszuführen. Ich habe die VideoPlayerViewController auf Landschaft beschränkt.

jedoch unmittelbar vor dem Übergang auftritt, geschieht dies:

enter image description hereenter image description here

Im Grunde, was passiert ist, dass in dem zweiten Bild, der rote Teil verschiebt sich nach oben, aus der die Statusleiste drücken Weg.

dann im 3. Bild, die ersten 2 Laschen leicht nach verschoben sind links während die letzten 2 Laschen leicht nach rechts verschoben sind.

Noch einmal, all dies tritt auf, bevor ein Modal-Übergang auftritt.

Was könnte das verursachen? Lassen Sie mich wissen, wenn ich zusätzlichen Code einschließen muss.

+0

Können Sie uns etwas über die Einschränkungen erzählen, die Sie im Storyboard festgelegt haben? –

+0

Es gibt viele Einschränkungen. Ich kann möglicherweise einen Beispielcode auf github veröffentlichen, damit Sie das Problem sehen und beheben können. – Pangu

Antwort

0

In einem Versuch, so viel irrelevanten Code wie möglich zu entfernen, um einen Beispielcode auf github für andere zu debuggen, um zu helfen, zu debuggen, habe ich den Schuldigen meines Problems gefunden.

Es ist verwandt mit override func prefersStatusBarHidden() in meinem Code, wodurch die Statusleiste Verschiebung und jetzt gelöst wurde.