CABasicAnimation runs after Implicit Animation

I want a layer to behave like this:

Instead, it behaves like this:

I think that the implicit animation from the CALayer property change runs first and then my animation specified in the CABasicAnimation runs. Why is the implicit animation happening at all? I've used code snippets like this in the past with only the CABasicAnimation, not the implicit animation.

Surround your animation with CATransaction.begin(); CATransaction.setDisableActions(true) and CATransaction.commit(). This will disable the implicit animation and make the CAAnimationGroup animate correctly.