How to delay a CABasicAnimation?

openfrog picture openfrog · Feb 27, 2013 · Viewed 24.5k times · Source

I have a CABasicAnimation and want to start it after a delay. In UIKit I can specify delays. The CAMediaTiming protocol has a timeOffset property but I can't see an effect. My next try is to use GCD to delay it but it feels like overkill.

Answer

trojanfoe picture trojanfoe · Feb 27, 2013

Shouldn't you be using the [CAMediaTiming beginTime] property (reference)?

See Customizing the Timing of an Animation in the Core Animation Programming Guide.

CABasicAnimation *animation;
animation.beginTime = CACurrentMediaTime() + 0.3; //0.3 seconds delay