ios - personajes - hacer animaciones 3d en android
¿Cómo retrasar una animación básica? (2)
Tengo un CABasicAnimation
y quiero iniciarlo después de un retraso. En UIKit puedo especificar retrasos. El protocolo CAMediaTiming
tiene una propiedad timeOffset
pero no puedo ver ningún efecto. Mi siguiente intento es usar GCD para retrasarlo, pero se siente como un exceso.
¿No debería estar usando la [CAMediaTiming beginTime]
( reference )?
Consulte Personalización del tiempo de una animación en la Guía de programación de Core Animation .
CABasicAnimation *animation;
animation.beginTime = CACurrentMediaTime() + 0.3; //0.3 seconds
En Swift 3.0:
func animateYourView () {
let myDelay = 5.0
let scalePulseAnimation: CABasicAnimation = CABasicAnimation(keyPath: "transform.scale")
scalePulseAnimation.beginTime = CACurrentMediaTime() + myDelay
scalePulseAnimation.duration = 0.5
scalePulseAnimation.repeatCount = 2.0
scalePulseAnimation.autoreverses = true
scalePulseAnimation.fromValue = 1.0
scalePulseAnimation.toValue = 0.5
myView.layer.add(scalePulseAnimation, forKey: "scale")
}
Donde la línea clave para el retraso es:
scalePulseAnimation.beginTime = CACurrentMediaTime() + myDelay