2010-08-15 4 views

Répondre

3

Tous les contrôleurs de vue dans le contrôleur de barre d'onglets doivent retourner YES pour landscape afin qu'il pivote.

+0

Merci l'homme! –

0

Je pense aussi parce que quand l'application lance tout « shouldAutoRotate » de contrôleur de vue se faire congédier ..

0

Qu'est-il arrivé dans mon application j'utilisais au large de la UITabBarController étagère que je traîna dans le constructeur d'interface Xcode. Il n'a pas pivoté lui-même (je suppose que par défaut il affiche juste le portrait).

solution était de créer une nouvelle classe (avec un clic droit sur la liste des fichiers) Nouveau fichier> Objectif de classe C> puis dans « Sous-classe de: » type UITabBarController, et lui donner un nom significatif (comme MyUITabBarControllerInHorisontalOrientation)

Qu'est-il arrivé que vous avez créé un fichier qui a toutes les fonctions de UITabBarController, mais vous pouvez également ajouter quelques autres. Vous devez donc ajouter dans le fichier .m une fonction comme ceci:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
    { 
      Boolean ans = (UIInterfaceOrientationLandscapeLeft == interfaceOrientation); 
      //this will display tabbar as a landscape left, 
      // but you can add more orientations using && operator 
      return ans; 
    } 

puis dans le constructeur d'interface (l'interface wysiwyg où vous faites glisser et boutons de chute) cliquez sur votre UITabBarController vous avez fait glisser sur et dans Utilitaires> Identité Inspecteur> La classe personnalisée (souvent visible en tant que panneau de droite) a choisi votre MyUITabBarControllerInHorisontalOrientation. Je souhaite que cela aide