2010-07-04 4 views
4

Existe-t-il un moyen de permettre l'affichage de mon application en mode paysage uniquement? J'ai réussi à définir par défaut l'orientation de l'application sur le paysage, mais dans le simulateur d'iPad, lorsque je fais Commande-> Flèche, l'application passe au mode portrait. J'ai supprimé les listes dans le plist sous «Orientations d'interface prises en charge» pour les deux entrées Portrait, mais cela ne semble pas avoir changé quoi que ce soit.Supprimer la possibilité d'orientation portrait pour l'application dans l'iPhone SDK

Une idée?

+0

Que voulez-vous dire par "tourne à portrait"? Vous réalisez que vous ne pouvez rien faire pour empêcher l'utilisateur de faire tourner l'appareil physiquement, n'est-ce pas? –

+0

Oui, mais certaines applications peuvent verrouiller leur orientation en mode paysage, même si l'appareil est orienté portrait. –

Répondre

11

Dans votre contrôleur de vue, il y a une méthode déléguée pour cela:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Return YES for supported orientations 
    return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || 
      (interfaceOrientation == UIInterfaceOrientationLandscapeRight); 
} 
+1

Parfait. Je savais que j'ai déjà vu cette ligne de code, je l'ai juste oublié. –

+0

Ceci est obsolète; cette méthode est obsolète depuis iOS 6. –

3

Effectuez une recherche de projet pour "autorotate" et modifiez les méthodes que vous trouverez en conséquence.

1

En fait, il est

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Return YES for supported orientations 
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || 
    (interfaceOrientation == UIInterfaceOrientationLandscapeRight); 
} 
0

Les choses ont changé avec certaines mises à jour s. Actuellement, vous devrez simplement ajouter la méthode suivante:

-(NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskLandscape; 
} 

qui autorisera uniquement le paysage. Tournez le téléphone tout ce que vous voulez et il restera seulement dans le paysage gauche ou droit. Amusez-vous :)