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!

InformationsquelleAutor KevinButler | 2009-03-06
Schreibe einen Kommentar