Ho un'animazione di base per l'iPhone. C'è un modo in cui posso "mettere in pausa" l'animazione in modo che la posizione della vista venga mantenuta? Immagino che un modo per farlo sarebbe quello di far "completare" l'animazione invece di chiamare "rimuovere" su di essa, come potrei farlo?C'è un modo per sospendere un CABasicAnimation?
CABasicAnimation* rotationAnimation;
rotationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: M_PI * 2];
rotationAnimation.duration = 100;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount = HUGE_VALF;
rotationAnimation.removedOnCompletion = NO;
rotationAnimation.fillMode = kCAFillModeForwards;
[myView.layer addAnimation:rotationAnimation forKey:@"rotationAnimation"];
Questo funziona per me bene, TUTTAVIA, quando sono in pausa e ruoto il mio dispositivo, perdo tutta la capacità di interagire con l'applicazione. In realtà non si è schiantato, tuttavia sembra "congelato". C'è un possibile conflitto con "willAnimateRotationToInterfaceOrientation"? – YoCoh
@YoCoh, può effettivamente mettere in pausa anche le animazioni di rotazione standard per una vista e, come durante le animazioni, l'interazione dell'utente può essere disabilitata (probabilmente è così) e l'animazione standard non termina con UI bloccato in stato disabilitato. non so come risolverlo – Vladimir
http://ronnqvi.st/controlling-animation-timing/ spiega come funziona questo codice –