I can guide you, but you must do exactly as I say.
Morpheus, The Matrix
In Chapter 10, “Easing,” we looked at
CAMediaTimingFunction, which enables us to control the easing of animations to add realism by simulating physical effects such as acceleration and deceleration. But what if we want to simulate even more realistic physical interactions or to modify our animation on-the-fly in response to user input? In this chapter, we explore timer-based animations that allow us to precisely control how our animation will behave on a frame-by-frame basis.
Animation appears to show continuous movement, but in reality that’s impossible when the display pixels are at fixed locations. Ordinary displays cannot display ...