Sto provando a ridimensionare un'immagine, cambiare l'immagine, quindi ridimensionarla.Come si concatenano le animazioni in scala con un UIImageView per iPhone?
CABasicAnimation* shrink = [CABasicAnimation animationWithKeyPath:@"transform.scale"];
shrink.toValue = [NSNumber numberWithDouble:0];
shrink.duration = 1;
shrink.delegate = self;
[myImageView.layer addAnimation:shrink forKey:@"shrink"];
fa lo strizzacervelli, poi quando completa, posso cambiare l'immagine, e inizio a fare crescere:
- (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"];
}
Questa grande opera sul simulatore, ma sul dispositivo, quando la strizzacervelli completa, Ricevo un bagliore dell'immagine a grandezza originale, quindi l'animazione della crescita inizia con la nuova immagine.
Qualche idea su come sbarazzarsi di quel flash?
(ho provato "removedOnCompletion = no;" e tentato l'impostazione del affineTransform uguale alla dimensione ridotta dopo il primo termine, ma non ha avuto molta fortuna.)
Eventuali suggerimenti apprezzato.
kb
Edit:
Eccellente! Impostazione di quanto segue:
shrink.fillMode = kCAFillModeForwards;
shrink.removedOnCompletion = NO;
Rimosso il lampeggiamento. Grazie, Ben!
Eccellente! Impostazione di quanto segue: \t out.fillMode = kCAFillModeForwards; \t out.removedOnCompletion = NO; Rimosso il lampeggiamento. Grazie, Ben! – KevinButler