以下代码是从另一个SO答案中提取的,但是可以延迟此CAKeyframeAnimation
动画的开始,类似于UIView的animateWithDuration
提供delay
属性的方式?
根据类文档,CAKeyframeAnimation
类似乎不包含延迟属性。
let animation = CAKeyframeAnimation(keyPath: "transform.translation.x")
animation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)
animation.duration = 1.0
animation.repeatCount = 2
animation.values = [-10, 10, -10, 10, -5, 5, -2, 2, 0]
view.layer.addAnimation(animation, forKey: "shake")
答案 0 :(得分:2)
你可以尝试这件事。试图延迟动画的开始时间。
animation.beginTime = CACurrentMediaTime() + 5.0 // change to your custom delay.