CATransaction and CATransition really different animals ...
It seems that the missing bit in your understanding is CATransaction ; as soon as you get it, then maybe all the parts will be inserted by themselves.
A CATransaction always created every time you perform kernel animation.
Each layer modification is part of a transaction. CATransaction is the Core Animation class responsible for finalizing several modifications of the layer tree to atomic updates in the render tree.
( source )
What happens is that if you do not specify it explicitly, an implicit CATransaction will be created for you.
You can create an explicit transaction (using [CATransaction begin/commit] ) to configure several animation parameters, for example, whether to use default animations, how long they are saved, etc. All of this is described in the CATransaction link.
Explicit transactions are especially useful when setting properties of many layers at the same time (for example, when selecting several layers), temporarily disabling layer actions, or temporarily changing the duration of the resulting implied animations.
So, resuming all this, CATransaction is the "big umbrella" under which the animation of the main animation is launched, and this is the animation CABasicAnimation , CATransition or group. This allows you to set some general parameters that affect the way the animation / transition, and if you do not provide one, is used by default (implicit).
Hope this helps.
source share