0

下面的代碼是從另一個SO答案中提取的,但延遲這個CAKeyframeAnimation動畫的開始有可能類似於UIView的animateWithDuration提供delay屬性的方式嗎?使用CAKeyframeAnimation延緩UIView動畫的開始?

根據班級文檔,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") 

回答

2

你可以試試這個東西。試圖延遲動畫的開始時間。

animation.beginTime = CACurrentMediaTime() + 5.0 // change to your custom delay.