Other Resources
Quartz 2D Programming Guide
OS Developer’s Library
This is the complete guide for using Core Graphics. If you want to go beyond the basics, you should definitely read through this programming guide.
PaintCode
This is a third-party application for creating custom-drawn interfaces. PaintCode is an illustrator-like drawing tool—but it saves the graphics as Objective-C Code. We can then take that code and paste it into our application. Sometimes the code can be used as-is. Sometimes it needs to be cleaned up or refactored. Regardless, it can save a significant amount of time over coding everything by hand.
While the application may be a bit pricy, I highly recommend downloading and playing around with the demo. If nothing else, it’s a great tool for learning how to generate a wide range of visual effects with Core Graphics.
Event Handling Guide for iOS
iOS Developer’s Library
This guide provides detailed information about all aspects of iOS event handling. This includes low-level event handling, hit testing, gesture recognizers, and even handling motion or remote control events.
Core Animation Programming Guide
iOS Developer’s Library
This guide provides a detailed discussion of Core Animation. Note that this goes very deep into a fairly complex topic—however, most of the time we can add a touch of animation to our user interface without getting bogged down in the Core Animation framework itself. Still, if you run into a situation where your animation isn’t behaving quite the way you expect, this is a good resource to have in your back pocket.
Custom Transitions Using View Controllers
2013 WWDC Videos
Currently, this is the only source of information about custom transitions from Apple. This presentation covers both custom transitions and interactive transitions. While this provides a nice, high-level explanation of the API, it often feels frustratingly thin on details. Hopefully Apple will supplement this presentation with either sample code or a Custom Transition Programming Guide in the near future.