Wie kann ich die Kette Skala Animationen mit einem iPhone UIImageView?
Ich versuche die Skalierung nach unten, ändern Sie die Bild, dann skaliere ihn sichern.
CABasicAnimation* shrink = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
shrink.toValue = [NSNumber numberWithDouble:0];
shrink.duration = 1;
shrink.delegate = self;
[myImageView.layer addAnimation:shrink forKey:@"shrink"];
macht die schrumpfen, dann, wenn es abgeschlossen ist, ändere ich das Bild, und starten Sie das wachsen:
- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag
{
myImageView.image = [images objectAtIndex:image];
CABasicAnimation* grow = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
grow.toValue = CGAffineTransformMakeScale(1,1);
grow.delegate = self;
grow.duration = 1;
[myImageView.layer addAnimation:grow forKey:@"grow"];
}
Dies funktioniert gut auf dem simulator, sondern auf dem Gerät, wenn die Verkleinerung abgeschlossen ist, bekomme ich einen flash der full-size -, alten Bild, dann die wachsen animation beginnt mit dem neuen image.
Eine Idee, wie man loswerden, dass flash?
(Ich habe versucht "removedOnCompletion = NO;" und versuchte, die Einstellung der affineTransform gleich das verkleinerte Größe nach dem ersten Abschluss, aber hatte nicht viel Glück.)
Alle Tipps dankbar.
kb
Edit:
Ausgezeichnet! Einstellen der folgende:
shrink.fillMode = kCAFillModeForwards;
shrink.removedOnCompletion = NO;
Entfernt, die blinken. Vielen Dank, Ben!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen Sie, Ihre animation ist
fillMode
zukCAFillModeForwards
. Das sollte verlassen das Element, wie es war, am Ende der animation, anstatt vor.Ich habe das gleiche problem, als ich versucht habe zu erstellen, die anderen CAAnimation in der animationDidStop Methode. Ich schlage vor, mit CAKeyframeAnimation.