Je crée une application prenant uniquement en charge le mode portrait. Je ne veux pas de paysage ou de portrait à l'envers. J'ai essayé du code. Ce qui me permet de verrouiller en mode portrait.
J'utilise navigationcontroller et presentviewcontroller. Maintenant, mon problème est le suivant: 1. Si je tourne mon appareil à l'envers et ouvre mon application, elle s'ouvre en mode à l'envers, ce qui est faux. 2. Je clique sur un bouton et j'entre pour présenter le contrôleur, il revient en mode portrait.
Je veux que tous les contrôleurs de navigation et presentviewcontroller soient en mode portrait
Mes codes:
J'ai mis le portrait d'orientation de l'appareil dans Target -> General -> Deployment Info -> Portrait
Dans mon appdelagate.Swift:
func application(application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> UIInterfaceOrientationMask {
return UIInterfaceOrientationMask.Portrait
}
Dans mon premier contrôleur de vue. Qui est essentiellement l'enfant du contrôleur de navigation
override func shouldAutorotate() -> Bool {
return false
}
override func supportedInterfaceOrientations() -> UIInterfaceOrientationMask {
return [UIInterfaceOrientationMask.Portrait ]
}
Modifier 1:
J'ai aussi mis StoryBoard -> ViewController -> Attribute Inspector -> Orientation -> Portrait
Modifier 2:
Si votre application ne prend pas en charge l'affichage en écran partagé, vous devez cocher l'option Exiger le plein écran. Cela a résolu mon problème avec le mode portrait.
Si cela ne résout pas le problème, ajoutez Orientations d'interface prises en charge Clé de type tableau dans votre info.plist. Et un élément de chaîne dans ce tableau avec une valeur Portrait (bouton d'accueil inférieur)