Before we talk about what is going on in presentImage(_:), let’s look at how the most basic animation is done with Core Animation. Imagine that you have a CALayer called layer that is displayed on the screen. Suppose that you set its position like so:
layer.position = CGPoint(x: 50, y: 50)
This simple action animates the layer from its current position
to the new position: implicit animation.
Many properties of layers can be animated by simply setting them.
didSet observer of the text property uses implicit animation
to change the size of the black status bubble.
What if you want to customize these animations? As it turns out, there are several styles for ...