Подтвердить что ты не робот

Как задержать CABasicAnimation?

У меня есть CABasicAnimation и я хочу запустить его после задержки. В UIKit я могу указать задержки. Протокол CAMediaTiming имеет свойство timeOffset но я не вижу эффекта. Моя следующая попытка - использовать GCD для отсрочки, но это похоже на излишество.

4b9b3361

Ответ 2

В 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")
}

Если ключевая строка для задержки:

  scalePulseAnimation.beginTime = CACurrentMediaTime() + myDelay