iOS. Comment activer et désactiver la rotation de chaque UIViewController?
J'ai un UIViewController, je veux activer ou de désactiver la rotation de l'écran dans différents scénarios
Exemple:
if flag {
rotateDevice = false
}
else {
rotateDevice = true
}
Comment puis-je le faire?
OriginalL'auteur Bao Tuan Diep | 2016-08-16
Vous devez vous connecter pour publier un commentaire.
J'ai la réponse.
Sur
AppDelegate
, si vous faites pivoter l'appareil, appuyez viewcontroller, etc. Cette fonction appelle toujoursMise à jour pour swift 3/4
self.restrictRotation
est un paramètre personnalisé.Comment utiliser:
Dans Appdelegate:
Dans ViewController:
Lorsque la méthode ViewDidLoad ou viewWillAppear est appelé. Nous allons modifier comme ceci:
et puis cette méthode sur AppDelegate sera appelée.
self.restrictRotation
ici? Où il est decleared?c'est le paramètre que vous avez créer. avant de faire pivoter l'appareil ou de changer UIViewController, cette fonction sera appelée.
vous devez créer paramètre de type de données UIInterfaceOrientationMask
OriginalL'auteur Bao Tuan Diep
Vous avez simplement à mettre en œuvre
shouldAutorotate
etsupportedInterfaceOrientations
dans votreUIViewController
. Jetez un oeil à cette documentation. Par exemple:Vous pouvez également indiquer les orientations sont disponibles. Voici un exemple avec seulement les portraits orientations:
Edit:
Si vous voulez soutenir une orientation différente au sujet d'un drapeau, vous avez juste à faire quelque chose comme ceci:
(Si
myFlag
est vrai, il permettraLandscape
orientation. Sinon, il permettra à toutes les orientations).fonctionne avec swift 4, merci
dans Swift 4, je suis
Method does not override any method from its superclass
, si je place les fonctions au sein de mon viewcontroller.swift 4 définit celles-ci comme les variables calculées au lieu des fonctions. Utiliser Xcode code de l'achèvement des suggestions
supportedInterfaceOrientations
n'a pas appeléOriginalL'auteur Julien Quere
swift 4
C'est une méthode de UIViewController, primordial, il va empêcher la rotation de l'écran
OriginalL'auteur Baryon Lee
dispositif de orientarion portrait dans la Cible -> Général> Déploiement Info -> Portrait
Downvote: C'est un mal réponse, le titre est
disable rotate on one UIViewController
pas pour l'ensemble de l'application.Downvote, mais pas en dessous de zéro, c'est la bonne réponse à une autre question, pas une réponse erronée et trompeuse.
Personnellement, je pense que si la question ont été formulées "iOS. Comment activer et désactiver la rotation de chaque ET CHAQUE UIViewController?" ... ce serait une réponse appropriée que chaque pouvez facilement traduire dans TOUS les contrôleurs de vue.... il désactive la rotation de l'ensemble de l'application... j'ai trouvé ce fil parce que j'ai voulu désactiver la rotation de l'ensemble de mon application, et il a travaillé pour moi donc c'est pourquoi j'ai choisi de donner ce un upvote.. toute Cette réponse peut ne pas avoir été mentionné, si la question plus précises. sans rancune n'importe où... Merci pour l'aide tout le monde!
OriginalL'auteur NGR