8
votes

iphone uiImageView rotation

Quelqu'un peut-il me dire comment faire pivoter une image en mouvement circulaire


0 commentaires

5 Réponses :


2
votes

Si vous voulez dire, "Comment faites-vous une image suivez un chemin circulaire?", alors le pseudocode serait: xxx


0 commentaires

1
votes

Cette question Demande la même chose, bien que dans différents mots. Les réponses dans cette question, ainsi que dans Cette question devrait fournir Un moyen d'animer un UIView (UiImageView est simplement une sous-classe de cela) sur son centre de 360 ​​degrés ou plus.


1 commentaires

Probablement u r confus sur la rotation et la révolution. La question ci-dessus concerne la révolution.



28
votes

Vous pouvez faire pivoter une vue, par un certain nombre de radians, que ce soit moins d'une rotation complète ou de nombreux multiples d'une rotation complète, sans avoir à fractionner la rotation en morceaux. Par exemple, le code suivant tourne une vue, une fois par seconde, pour un nombre spécifié de secondes. Vous pouvez facilement le modifier pour faire tourner une vue par un certain nombre de rotations ou par un certain nombre de radians.

- (void) runSpinAnimationWithDuration:(CGFloat) duration;
{
    CABasicAnimation* rotationAnimation;
    rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
    rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2.0 /* full rotation*/ * rotations * duration ];
    rotationAnimation.duration = duration;
    rotationAnimation.cumulative = YES;
    rotationAnimation.repeatCount = 1.0; 
    rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];

    [myView.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
}


3 commentaires

Je reçois une erreur, "Les rotations non déclarées"


Les rotations sont un const. Remplacez-le avec le nombre de fois que vous souhaitez que la vue tourne dans la durée de la durée.


Je ne suis pas le



3
votes

Basé sur la réponse de Mahboudz, vous pouvez la définir pour tourner infiniment en définissant:
rotationanimation.repeatcount = énorme_valf;


0 commentaires

1
votes

Création de l'animation

CABasicAnimation *animation = [self spinAnimationWithDuration:1.0 clockwise:YES repeat:YES];
[self.spinningView.layer addAnimation:animation forKey:@"rotationAnimation"];


0 commentaires