Ich versuche ein Bild zu verkleinern, das Bild zu ändern und es dann wieder zu skalieren.Wie kette ich Skalenanimationen mit einem iPhone UIImageView?
CABasicAnimation* shrink = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
shrink.toValue = [NSNumber numberWithDouble:0];
shrink.duration = 1;
shrink.delegate = self;
[myImageView.layer addAnimation:shrink forKey:@"shrink"];
macht den Schrumpf, dann, wenn es abgeschlossen ist, ich das Bild zu ändern, und starten Sie die 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, aber auf dem Gerät, wenn der Schrumpf abgeschlossen ist, Ich bekomme ein Flash des alten Bildes in voller Größe, dann beginnt die Grow-Animation mit dem neuen Bild.
Irgendeine Idee, wie man diesen Blitz los wird?
(Ich habe versucht, „removedOnCompletion = NO“, und versuchte, nach dem ersten Abschluss gleich der verkleinerten Größe der Affine Einstellung, haben aber nicht viel Glück.)
Alle geschätzt Tipps.
kb
Edit:
Excellent! Einstellung der folgenden Werte:
shrink.fillMode = kCAFillModeForwards;
shrink.removedOnCompletion = NO;
Das Blinken wurde entfernt. Danke, Ben!
Ausgezeichnet! Einstellung der folgenden Werte: \t out.fillMode = kCAFillModeForwards; \t out.removedOnCompletion = NO; Das Blinken wurde entfernt. Danke, Ben! – KevinButler