2015-11-30 2 views
1

Je suis novice dans le développement d'IOS et j'essaye d'écrire une application pour le déploiement sur un ipad. En partie pour garder les choses simples, en termes de mise en page, et parce que je crois que mes utilisateurs n'utiliseront l'application qu'en mode paysage, je souhaite uniquement autoriser les vues en mode paysage et désactiver complètement les vues en mode portrait.Verrouillage de la rotation de l'affichage en mode paysage pour l'application entière dans ios 8.1

J'ai trouvé beaucoup de conseils sur internet pour trouver une réponse. Malheureusement, rien de tout cela n'a fonctionné pour moi. La meilleure réponse que j'ai trouvée était de simplement aller dans la cible dans xcode, et sous "info sur le déploiement" -> Orientation du périphérique, il suffit de décocher "Portrait" et "Upside Down". Cela devrait, théoriquement, résoudre mon problème, mais malheureusement, ce n'est pas le cas. La vue pivote aussi normalement qu'en mode portrait. Si vous accédez à l'onglet Info et que vous définissez l'option Orientation de l'interface initiale sur Paysage (à gauche), l'application démarre au moins en mode Paysage, mais ne la limite pas uniquement à ce mode.

Même en ajoutant

- (BOOL)shouldAutorotate { 
    return NO; 
} 

- (NSUInteger)supportedInterfaceOrientations { 
    return UIInterfaceOrientationMaskLandscape; 
} 

dans mon point de vue principale ne semble pas aider quoi que ce soit. Donc je suis un peu perplexe. Il doit y avoir un réglage ou quelque chose quelque part qui permet toujours des vues en mode portrait. Quel pourrait être ce problème?

+0

Avez-vous nettoyé votre projet depuis qu'il a fait ce changement? Produit -> Nettoyer dans la barre de menu supérieure. – Bek

+0

Oui, j'ai essayé ça. Pas de chance –

Répondre

1

Si vous regardez votre fichier AppName -Info.plist, il devrait y avoir une clé intitulée 'Orientations d'interface supportées'.

Vous devez supprimer les valeurs Portrait de ce dictionnaire et vous assurer que seules les valeurs Landscape sont incluses!

enter image description here

Edit: Dans le cas de question-Asker, leur domaine en question un morceau de code dans la AppDelegate qui a changé les orientations prises en charge par l'application.

- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window 
{ 
    /* They had the following: 
    *  return UIInterfaceOrientationMaskAll; 
    * Which allowed the orientation to rotate to portrait 
    */ 

    // This fixed their issue: 
    return UIInterfaceOrientationMaskLandscape; 
} 

Espérons que cela aide!

+0

Ah, oui, merci. Je l'ai fait pour les orientations d'interfaces supportées et les orientations d'interfaces supportées (iPad), mais malheureusement, le problème persiste. Merci quand même! –

+0

Super intéressant. J'ai regardé autour de moi, et je ne vois rien qui puisse suggérer une possibilité de surcharger les paramètres .plist. Pourriez-vous essayer d'ajouter ceci à -didFinishLaunching? 'application.statusBarOrientation = UIInterfaceOrientationLandscapeRight;' – benhameen

+0

D'accord, j'ai essayé, mais je ne pense pas que quelque chose semblait se produire. Même chose: elle commence en mode paysage, mais passe en mode portrait lorsqu'elle est tournée dans cette direction. J'ai mis un point d'arrêt, cependant, et il a été définitivement touché. –

0

Vous pouvez le faire dans l'onglet Général dans votre projet

enter image description here