Due to the on-going bug with CATiledLayer in iOS 7, I was motivated to reimplement it myself. Of course I then realised that I actually knew very little about what a CALayer was and how it worked. I know that my view is backed by a layer, and I know that if I want rounded corners or a border or perhaps a drop shadow (which defaults to drop the wrong way?!) I can use the layer property for this. But to subclass it, and then recreate CATiledLayer? I haven’t got a clue. So I decided to find a book on the topic, and I found Lockwood’s iOS Core Animation: Advanced Techniques.
This is an advanced-level book about Core Animation. It doesn’t show you how to create your project. It doesn’t explain the Objective-C syntax. Lockwood states that if you’ve finished your “Hello World!” App, and are looking for something more advanced, then you might be OK – I’d disagree. Considering that CALayers are wrapped by UIView, and UIKit handles a lot of this content for you (e.g. UILabel instead of CATextLabel, UIImageView instead of layer.contents), I think that newbie may struggle to maintain motivation to read this book.
However, for the experienced coder, this book is excellent. Carefully constructed and split into three main parts: layers, animations and performance. Each of those are then subdivided into small chapters that build up your knowledge slowly. Each section forms a small building block for the next section, and so as you read through the book, you’re revising the previous sections implicitly.
Nick Lockwood’s book on Core Animation is one of the finest books I’ve read in a long while. It’s so well researched and his teaching style is spot on. I thoroughly enjoyed reading this book. Having said that, if you’re a beginner, I’d suggesting waiting a few months before reading this book to really get the most out of it.