Ich habe einfache Rotation Transformation, kombiniert mit alpha, die perfekt funktioniert beim ersten Aufruf, aber die Drehung passiert nicht das zweite Mal (der Benutzer initiiert diese Animation durch Antippen des Bildschirms).iOS5 CGAffineTransformMakeRotation funktioniert nicht das zweite Mal, wenn ich es mache?
Hier ist meine Grundanimationsfunktion:
- (void) animateMe:(UIImageView *)myImage delay:(NSTimeInterval)dly
{
[UIView animateWithDuration:1.0
delay:dly
options:UIViewAnimationOptionAutoreverse
animations:^(void){
myImage.alpha = 1.0;
myImage.transform = CGAffineTransformMakeRotation(180.0);
}
completion:^(BOOL finished) {
myImage.alpha = 0.0;
}];
}
Danke, das ist sehr hilfreich! Ich gebe deinem Vorschlag einen Versuch und weise den Scheck zu, wenn er funktioniert, klingt, als hättest du recht damit. Sehr überrascht, dass sie Radianten verwenden würden - scheint eine peinliche Art, es zu tun, aber ich sehe, dass das, was die Dokumentation sagt. –
Ok, ich brauchte einen Moment, um festzustellen, dass CGAffineTransformRotate() eine andere Funktion als CGAffineTransformMakeRotation() ist! Dein Vorschlag funktioniert, danke. Ihre Links waren sehr hilfreich, ich lerne viel über die Affine Transformationen. –
Ein weiterer Kommentar, ich habe Dokumentation über Blockanimation gelesen und es heißt, dass Sie eine Wiederholungszahl in Kombination mit UIViewAnimationOptionAutoReverse angeben können - es ist nicht erforderlich, mit UIViewAnimationAutoRepeat zu kombinieren. –