2015-08-05 1 views
1

J'ai un ViewController A qui présente un MPMoviePlayerViewController. Je veux forcer le lecteur vidéo sur le paysage, donc j'utiliser ceci:presentViewController change l'orientation du contrôleur de vue de présentation, brise la disposition

Dans le AppDelegate, supportedInterfaceOrientationsForWindow

if let viewController = self.window!.rootViewController?.presentedViewController { 
      if let playbackController = viewController as? MPMoviePlayerViewController { 
       return Int(UIInterfaceOrientationMask.LandscapeLeft.rawValue) | Int(UIInterfaceOrientationMask.LandscapeRight.rawValue) 
      } 
      return Int(UIInterfaceOrientationMask.Portrait.rawValue) 
     } 

Dans ma sous-classe de lecteur vidéo, je définir l'orientation prise en charge:

override func supportedInterfaceOrientations() -> Int { 
     return Int(UIInterfaceOrientationMask.LandscapeLeft.rawValue) | Int(UIInterfaceOrientationMask.LandscapeRight.rawValue) 
    } 

Lorsque le lecteur vidéo est fermé en mode paysage, le View Controller A est bloqué en mode paysage. Comment empêcher View Controller A de basculer en mode paysage et de le conserver en mode portrait?

Répondre

0

Il suffit d'ajouter

override func supportedInterfaceOrientations() -> Int { 
     return Int(UIInterfaceOrientationMask.Portrait.rawValue) 
} 

à chaque contrôleur de vue dont il a besoin et éviter le soutien d'orientation en fonction AppDelegate.