Est-il un moyen de mettre en pause un CABasicAnimation?
J'ai une base en animation de rotation de l'iPhone. Est-il possible que je peux "pause" de l'animation, de sorte que la position de la vue sera maintenu? Je suppose qu'une façon de le faire serait de rendre l'animation "complet" au lieu de l'appeler "supprimer" sur elle, comment dois-je procéder?
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"];
Vous devez vous connecter pour publier un commentaire.
Récemment apparu Apple note technique QA1673 décrit comment mettre en pause/reprendre la couche d'animation.
En Pause et de reprendre des animations la liste est ci-dessous:
Edit:
iOS 10 introduit de nouvelles API - UIViewPropertyAnimator qui permet de gérer des animations plus de manière interactive, par exemple, il est facile de mettre en pause et reprendre l'animation ou "demander" pour certains, notamment les progrès de la valeur.
timeOffset
etbeginTime
?layer.speed = 1.0
dans le "résumé" du code. Réglage d'une autre valeur (par exemple, pour correspondre à l'original de la vitesse d'animation) la cause de la "reprendre" pour sauter de manière industrielle.Réponse Rapide 3:
Crédits @Vladimir
Code:
Ensemble de l'état actuel de votre point de vue de la couche pour correspondre à l'état de la
presentationLayer
, puis retirez-le de l'animation:Vous pouvez utiliser une minuterie ou la poignée de l'animation délégué méthode:
Voici mon code:
Espère que cela peut vous aider.
Plus Simple