2009-10-04 7 views

Répondre

1

Voici ce que vous pouvez essayer.

Si vous voulez changer l'orientation de la vue tout en abordant la vue, puis suivez les étapes

  1. Mettre en œuvre la méthode touchesBegan dans la vue.

  2. Dans la méthode touchesBegan vérifier l'orientation actuelle de l'appareil, [[UIDevice currentDevice] orientation];

  3. Si vous voulez changer l'orientation puis utilisez la méthode CGAffineTransformation sur la vue que viewRef.transform = CGAffineTransformMakeRotation(angle);

8

Si vous définissez la géométrie de vos éléments d'interface utilisateur dans Interface Builder, puis assurez-vous de définir les attributs Autosizing dans l'inspecteur de taille (Cmd + 3). Vous pouvez ensuite voir à quoi ressemblera la vue après avoir pivoté en cliquant sur le petit bouton "Rotation" dans le coin supérieur gauche de la barre de titre de votre vue dans Interface Builder.

Une fois que vous avez tout ce qui a mis en place, juste remplacer la méthode suivante dans votre ViewController:

public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation) 
{ 
    return true; 
} 

maintenant dans le simulateur, vous pouvez faire pivoter tout ce que vous voulez et votre interface utilisateur sera automatiquement adapter.

+0

Gees, je ne pouvais pas croire à quel point c'était simple! :) Cela devrait certainement être signalé comme la bonne réponse. Merci. – BruceHill

1

Juste pour que tout le monde sait, il est maintenant sur le point de vue objet Transform:

View.Transform.Rotate(3.14159f * 0.5f); 

Pour vous DotNet tous les gars comme moi qui ne veulent pas utiliser tout ce qui est CGAffineTransform, pensant qu'il va briser d'autres choses , essayez-le. A travaillé très bien pour mon exemple. Rotation du NavigationController.View et tout ce qui s'y trouve est parfait.

+0

cela fait seulement pivoter une vue spécifique, si c'est dans un UINavigationController, la barre de contrôle de navigation sera du mauvais côté de l'écran. –