web-dev-qa-db-fra.com

Comment désactiver l'orientation paysage sur une application iPad?

J'ai créé un tout nouveau iOS universel à vue unique Swift. Ensuite, j'ai décoché "Paysage gauche" et "Paysage droit" dans les paramètres de l'application. Je l'ai exécuté sur mon iPhone, et hourra , il reste en mode portrait, peu importe la façon dont je tourne mon téléphone. Ensuite, je l'ai exécuté sur mon iPad, et il tourne à n'importe quoi. Même le mode portrait à l'envers, qui n'était pas activé en premier lieu? Suis-je le seul à Cela se produit également dans le simulateur iPad lorsque je tourne avec la touche de commande + flèche.

J'ai également essayé d'ajouter ce qui suit à ViewController.Swift, et j'ai obtenu le même résultat.

override func shouldAutorotate() -> Bool {
    return false
}

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

N'y a-t-il aucun moyen de désactiver la rotation du portrait sur l'iPad?

30
Eugene

Son travail parfaitement. Pas besoin d'écrire du code pour cela.

Sélectionnez d'abord le projet puis allez dans le premier onglet "Général".

Maintenant, sélectionnez l'option "Périphériques" dans la section Informations de déploiement est iPad et dans ce bas, sélectionnez Orientation du périphérique .. Dans lequel supprimer la coche du paysage gauche, option droite

Une fois terminé, sélectionnez-le en tant que périphérique universel et définissez l'orientation de l'appareil en mode portrait..mode et supprimez la coche du mode paysage.

Maintenant, lancez votre application sur iPad et vérifiez cela. J'espère que cela sera résolu.

70
Pavan Gandhi

Il existe des entrées distinctes dans Info.plist pour les orientations prises en charge par iPhone et iPad.

  • iPhone = UISupportedInterfaceOrientations
  • iPad = UISupportedInterfaceOrientations ~ ipad

Vous devez modifier Info.plist et supprimer les entrées de paysage pour la clé UISupportedInterfaceOrientations ~ ipad.

21
Tomasz Czyżak

Fonctionne pour moi!

Ouvert info.plist comme code source, vous verrez ces propriétés:

  • UISupportedInterfaceOrientations: pour iPhone
  • UISupportedInterfaceOrientations~ipad: Pour iPad

Full Orientation Modes

En dessous de UISupportedInterfaceOrientations~ipad supprimez votre mode d'orientation indésirable. Dans mon cas, je ne veux que le mode Portrait, j'ai donc supprimé les autres modes, puis je l'ai enregistré.

Portrait Mode Only

Terminé! Bonne chance

10
EK Chhuon

Cette image suffit, ne sélectionnez que le Portrait.

set portrait mode


modifier pour le commentaire de Shyam

Xcode8.3.3 MacOS Sierra v10.12.5

enter image description here

5
Kris Roofe

Dans Xcode 10 au moins, pour une application universelle, cette fonctionnalité est rompue. Pour qu'une application universelle définissant la restriction d'orientation en vérifiant que l'orientation pertinente ne fonctionne que pour iPhone, vous devrez entrer dans la liste et supprimer les orientations indésirables sous "Orientations d'interface prises en charge (iPad)", où vous trouverez les quatre orientations qui vous attendent. indépendamment de ce que vous avez vérifié. C'est simplement un bogue dans Xcode qui n'a apparemment pas une priorité très élevée puisqu'il existe depuis un certain temps.

2
Nostradamus