2009-09-16 10 views
0

J'utilise ce code pour faire tourner une aiguille (comme dans un compteur de vitesse):Comment obtenir le point de calque?

CALayer* layer = someView.layer; 
CABasicAnimation* animation; 
animation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; 
animation.fromValue = [NSNumber numberWithFloat:0.0 * M_PI]; 
animation.toValue = [NSNumber numberWithFloat:1.0 * M_PI]; 
animation.duration = 1.0; 
animation.cumulative = YES; 
animation.repeatCount = 1; 
animation.removedOnCompletion = NO; 
animation.fillMode = kCAFillModeForwards; 
[layer addAnimation:rotationAnimation forKey:@"transform.rotation.z"]; 

Maintenant, ma question est que lors de l'animation je presse un bouton à l'aiguille de temps est de retour pour se déplacer sur le point particulier. Donc, je dois avoir à obtenir le dernier point de couche quand je touche le bouton.

Comment obtenir le dernier point de la couche?

+0

Aucune idée de ce que vous essayez de demander. Veuillez reformuler la question s'il vous plaît. –

+0

Essayez-vous de changer l'aiguille pour qu'elle pointe vers la position d'une couche lorsque vous appuyez sur un bouton? – fbrereto

Répondre

1

Votre question est très difficile à comprendre, mais il semble que vous demandiez comment déterminer l'état d'une animation en cours au moment où l'utilisateur appuie sur un bouton. Pour ce faire, vous pouvez obtenir un CALayerpresentationLayer, et interroger cela pour la valeur actuelle de la propriété en cours d'animation.

Les réponses à this question vous montrent comment déterminer l'angle de votre couche de présentation pivotée. Vous voulez probablement ignorer ma réponse inutilement complexe là-bas.

Questions connexes