CABasicAnimation repetición ilimitada sin GRAN VALF?


Estoy tratando de realizar la repetición automática de mi animación de rotación de imágenes con CABasicAnimation. He intentado buscar en la web cómo establecer dicha propiedad, pero no pude encontrarlo. ¿Realmente no hay tal propiedad para CA animation? Sé que puedes establecer un valor enorme (aquí) en la propiedad repeatCount, pero bueno, ¿por qué entonces UIView animateWithDuration tiene una opción UIViewAnimationOptionRepeat y cuál es el valor codificado para ella?

Author: Centurion, 2011-08-16

2 answers

No, esta es la forma en que se supone que debes hacerlo de acuerdo con la documentación.

Establecer esta propiedad en HUGE_VALF hará que la animación se repita para siempre.


Actualización para Swift:

HUGE_VALF no está expuesto a Swift. Sin embargo, mi entendimiento de esta página es que HUGE_VALF pretende ser infinito (de hecho, INFINITY se define como HUGE_VALF). Dado que el protocolo FloatingPointType de Swift proporciona un static var infinity, simplemente puede escribir

myAnimation.repeatCount = .infinity
 115
Author: jtbandes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-08-05 05:36:27

Para swift 3.0 y superiores

              let rotationAnimation = CABasicAnimation(keyPath: "transform.rotation.z")
          rotationAnimation.fromValue = 0
          rotationAnimation.toValue = CGFloat.pi * 2
          rotationAnimation.duration = 1
          rotationAnimation.repeatCount = .infinity
          holderView.btnRefresh.layer.add(rotationAnimation, forKey: "spinAnimation")
 6
Author: Hiren Panchal,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-19 10:41:00