61

があり、CABasicAnimationしばらくしてから開始したいと思います。UIKitでは遅延を指定できます。CAMediaTimingプロトコルにはプロパティtimeOffsetがありますが、効果がわかりません。私の次の試みはそれを遅らせるためにGCDを使用することですが、それはやり過ぎのように感じます。

4

2 に答える 2

155

[CAMediaTiming beginTime]プロパティ(参照)を使用するべきではありませんか?

『 Core Animationプログラミングガイド』の「アニメーションのタイミングのカスタマイズ」を参照してください。

CABasicAnimation *animation;
animation.beginTime = CACurrentMediaTime() + 0.3; //0.3 seconds delay
于 2013-02-27T16:21:56.403 に答える
22

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
于 2016-11-16T00:23:45.950 に答える