37 votes

Mode paysage UNIQUEMENT pour iPhone ou iPad

Je veux créer une application qui n'utilise pas le mode Portrait.

Je ne sais pas si je dois modifier la liste ou si je dois ajouter du code à la liste.

47voto

Justin Gregoire Points 1463

Code trouvé ici

Lancement en mode paysage

Applications dans l'iPhone OS normalement normalement en mode portrait pour correspondre à l'orientation l'orientation de l'écran d'accueil. Si vous avez une application qui fonctionne à la fois en mode portrait et paysage, votre application doit toujours être lancée en mode portrait au départ, puis laisser ses contrôleurs de vue faire pivoter l'interface selon les besoins, en fonction de la l'orientation du périphérique. Si votre application fonctionne en mode paysage paysage uniquement, vous devez effectuer les étapes suivantes pour qu'elle soit lancée en mode orientation paysage au départ.

  • Dans le fichier Info.plist de votre application, ajoutez l'élément suivant UIInterfaceOrientation
    et définissez sa valeur sur la clé
    mode paysage. Pour le paysage
    orientations, vous pouvez définir la valeur
    de cette clé pour
    UIInterfaceOrientationLandscapeLeft
    ou
    UIInterfaceOrientationLandscapeRight.

  • Disposez vos vues en mode paysage et assurez-vous que leurs options de redimensionnement automatique sont réglées correctement.

  • Remplacez la fonction de votre contrôleur de vue shouldAutorotateToInterfaceOrientation: et renvoyer YES uniquement pour la méthode
    l'orientation paysagère souhaitée et le NO
    pour les orientations portrait.

29voto

Aleksander Azizi Points 3745

Pour mettre votre application en mode paysage sólo vous devez utiliser les "Orientations d'interface supportées". ( Targets -> YourApp -> Supported Interface Orientations -> Landscape Left & Right )

Supported Interface Orientations

Vous devez également définir l'orientation de l'application dans le menu de l'application. Info.plist fichier ( Info.plist file ) en ajoutant le Supported interface orientations avec les valeurs Landscape (left home button) y Landscape (right home button) . row's

Vous pouvez utiliser willRotateToInterfaceOrientation et/ou didRotateFromInterfaceOrientation pour gérer les changements d'orientation.


shouldAutorotateToInterfaceOrientation est déprécié par rapport à iOS 6 et dehors.

Retour à UIDeviceOrientationLandscapeLeft/Right para shouldAutorotateToInterfaceOrientation devrait rendre votre application "paysagère" :

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}

Vous pouvez également modifier les paramètres de votre application Info.plist y View Orientation (comme expliqué ci-dessus).


De plus, je recommande de changer l'orientation de votre vue en Landscape dans le Inspecteur des attributs . landscape

26voto

fedmest Points 613

Vous pouvez aussi raccourcir tout cela en

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return UIInterfaceOrientationIsLandscape(interfaceOrientation);
}

10voto

jrtc27 Points 6797

Modifiez le plist pour qu'il ne supporte que le paysage, puis assurez-vous que dans chaque uiviewcontroller/uitabbar etc. shouldAutoRotateToInterfaceOrientation le return dit return ((interfaceOrientation == UIInterfaceOrientationLandscapeLeft) || (interfaceOrientation == UIInterfaceOrientationLandscapeRight)); .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X