2009-07-14 6 views

Répondre

3

Utilisez deux UIImageViews, un pour l'arrière-plan de la boussole, et une pour la flèche, et les ajouter à votre vue principale de l'application. Vous devriez avoir quelque chose comme ça dans une méthode dans votre contrôleur principal de vue:

compassBackground = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"compassBackground.png"]]; 
arrow = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"arrow.png"]]; 
[compassBackground addSubview:arrow]; 
[self.view addSubview:compassBackground]; 

Bien sûr, compassBackground et arrow sont membres de votre point de vue classe contrôleur. Animer la flèche, appliquer une transformation affine à la vue:

arrow.transform = CGAffineTransformMakeRotation(angleInRadians); 

Si vous construisez votre fenêtre principale avec Interface Builder, il est encore plus facile: ajouter l'arrière-plan de la boussole et la flèche à la vue, les connecter à le contrôleur, et appliquer la transformation comme expliqué ci-dessus.

0

Vous pouvez utiliser deux UIImages, le 'needle' et le compas. Si vous utilisez un PNG ou un GIF pour l'aiguille, et Core Animation pour le faire pivoter, vous pouvez spécifier ce qui se passe en haut dans Interface Builder avec l'option de menu Disposition-> Envoyer en avant (ou Mise en page-> Envoyer en arrière)

Voici la doc d'apple sur Interface Builder:

http://devworld.apple.com/documentation/DeveloperTools/Conceptual/IB_UserGuide/Introduction/Introduction.html

Questions connexes