2016-03-21 12 views
5

Ho un problema strano riguardo a come sto limitando l'orientamento dello schermo.Segue causa che UITabBarController sposta la barra di stato su in Swift?

Ecco quello che il mio storyboard assomiglia:

enter image description here

ho orientamento dello schermo impostata su Ritratto solo.

Nel mio AppDelegate, ho il seguente:

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

nella scheda Home, facendo clic sul pulsante di riproduzione Rossa, o qualsiasi delle cellule si esibirà in un segue al mio VideoPlayerViewController. Ho limitato lo VideoPlayerViewController solo al paesaggio.

Tuttavia, proprio prima che si verifichi la segue, ciò si verifica:

enter image description hereenter image description here

In sostanza, ciò che sta accadendo è che nel 2 ° quadro, la parte rossa sposta verso l'alto, spingendo la barra di stato fuori dal modo.

Poi nel 3 ° quadro, le prime 2 schede sono spostati leggermente a sinistra mentre gli ultimi 2 schede sono spostati leggermente a destra .

Ancora una volta, tutto ciò avviene immediatamente prima che si verifichi un passaggio modale.

Cosa potrebbe causare questo? Fammi sapere se devo includere codice aggiuntivo.

+0

Puoi parlarci dei vincoli che hai impostato nello storyboard? –

+0

Ci sono molti vincoli. Posso pubblicare un codice di esempio su github per permetterti di vedere e aiutare a risolvere il problema? – Pangu

risposta

0

Nel tentativo di rimuovere il maggior numero possibile di codice irrilevante per pubblicare un codice di esempio su github per consentire ad altri di eseguire il debug, ho trovato il colpevole del mio problema.

È collegato a override func prefersStatusBarHidden() nel mio codice, causando lo spostamento della barra di stato e ora è stato risolto.

Problemi correlati