Force UIViewController à afficher uniquement en mode paysage
Mon application s'exécute en mode portrait, mais je veux montrer un écran en mode paysage uniquement comme il s'agit d'un graphique. Que dois-je ajouter à mon uiviewcontroller pour le forcer en mode paysage uniquement?
source d'informationauteur lps
Vous devez vous connecter pour publier un commentaire.
Je suis désolé, mais cette réponse va être très court: Si vous utilisez le UINavigationController, vous ne pouvez pas. La réponse @jer donne est donc incorrect. La documentation d'Apple états:
Récemment, j'ai eu cette réponse à la question sur un bounty et mon application rejeté dans le processus. Lire à ce sujet ici: Comment contraindre la rotation automatique à une seule orientation de certains points de vue, tout en permettant à toutes les orientations sur les autres?
La seule solution que vous avez, c'est de jeter le UINavigationController et de le réécrire avec quelque chose de votre propre.
En présentant et en rejetant une-vue-contrôleur modal vous pouvez forcer une orientation. Animations de "NON" et vous pouvez le faire sans que l'utilisateur même s'en rendre compte elle s'est produite.
Vous pouvez lire plus à ce sujet de Josh réponse sur Est-il documenté pour régler l'iPhone de l'orientation?
Je considère que c'est un peu un hack, mais j'ai mis en œuvre avec succès le code à l'aide de cette prémisse, à force de tout dispositif d'orientation.
Vous mettre en œuvre
shouldAutorotateToInterfaceOrientation:
et de l'avoir de retour uniquement OUI pourUIInterfaceOrientationIsLandscape(param)
oùparam
est le paramètre que vous avez déclarée pour la méthode.Cela permettra de soutenir paysage de la gauche et du paysage, à droite, au lieu de se cantonner à une seule orientation paysage.