You’ve already seen how to add basic preset animations when swapping screens. Animation is widely used in apps to make UIs appear more dynamic and interesting. You can animate almost any property of almost any visible object, so the possibilities are almost limitless.
Understanding animation technologies in iOS
You can choose from the following:
Direct timer control. You can set up a timer in a view or view controller, update some element in a view, and call setNeedsDisplay to refresh the screen. This option works well for repeating animations and for game designs where, for example, you need to bounce objects off each other.
UIView animations. UIView includes a selection of built-in animation effects. You can animate the initial and final values of any property in an animation block, and you can control the animation curve to create smooth transition effects.
CALayer animations. The low-level Quartz Core framework supports various complex animation objects. It’s powerful, but it isn’t particularly easy to work with and a full tutorial would be complex. For more details, see the Core Animation Programming Guide in the documentation.
OpenGLES. Use this for games. ...