2016-03-21 12 views
5

Mam dziwny problem związany z ograniczaniem orientacji ekranu.Segue powoduje, że UITabBarController przesuwa pasek stanu w Swift?

Oto co moja storyboard wygląda następująco:

enter image description here

mam orientacji ekranu ustawiona na Portret tylko.

W moim AppDelegate, mam następujące:

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

w zakładce Home, klikając albo czerwony przycisk odtwarzania lub którejkolwiek z komórek wykona segue do mojego VideoPlayerViewController. Ograniczam VideoPlayerViewController tylko do krajobrazu.

Jednak tuż przed wystąpieniem segue, to nastąpi:

enter image description hereenter image description here

Zasadniczo, co się dzieje, że w 2. zdjęciu czerwona część przesuwa się w górę, przesuwając pasek stanu out of the droga.

Następnie w 3 zdjęciu, pierwsze 2 karty są przesunięte lekko w lewonatomiast ostatnie 2 zaczepy są przesunięte nieco do prawej.

Po raz kolejny wszystko to ma miejsce tuż przed przejściem modalnym.

Co może być przyczyną? Daj mi znać, jeśli muszę dołączyć dodatkowy kod.

+0

Czy możesz nam powiedzieć o ograniczeniach ustawionych w scenorysie? –

+0

Istnieje wiele ograniczeń. Mogę ewentualnie wysłać przykładowy kod na Github, abyś mógł zobaczyć i pomóc w debugowaniu problemu? – Pangu

Odpowiedz

0

Próbując usunąć tak dużo nieistotnego kodu, jak to możliwe, aby opublikować przykładowy kod na github dla innych, aby pomóc w debugowaniu, znalazłem winnego mojego problemu.

Jest to powiązane z override func prefersStatusBarHidden() w moim kodzie, powodując przesunięcie paska statusu i teraz zostało rozwiązane.

Powiązane problemy