Core Animation adds that “wow!” factor to your Cocoa and iPhone applications. It’s not just cool, it also improves the user experience to make your application a cut above the rest. Learn how to create an animated and cinematic user interface with Core Animation from Bill Dudney, an experienced Cocoa developer.
- Download and watch DRM-free episodes when and where it's convenient for you
- You get iPod/iPhone 3, iPad/iPhone 4, and QuickTime formats.
- All the source code is available (visit the links tab).
All the episodes in this series have been released.
About this Screencast
What better way to learn how to spice up your Cocoa or iPhone application than by seeing Core Animation in action! By watching these video tutorials, you’ll learn how to use the Core Animation API to add stunning animations to your applications. You’ll not only learn more about Core Animation, you’ll also see ways to streamline your development workflow.
In addition to the videos, you can also download the source code for each episode so you can experiment on your own.
- Watch the preview (3 mins, QuickTime) highlighting the Cover Flow application Bill creates in these screencasts.
Note: The examples used in this screencast are for Core Animation on the Mac, not the iPhone. However, all the concepts and techniques apply equally well to using Core Animation on the iPhone.
Contents and Extracts
In this screencast series, we’ll build a Cover Flow application for photos on the Mac, similar to the one in iTunes.
Episode 1: Getting Started with Animations
We’ll build our first animated layer, starting from the very basics of building a new Xcode project and ending with moving a photo in the layer around the screen. You’ll learn how to:
- create a layer and add it to a view
- use Interface Builder to create the interface
- load an image into a layer
- set the bounds and position of a layer
- move a layer around based on key events
Episode 2: Customizing the Animation
We’ll customize the duration, timing, and rotation of the animation used to move the photo in our application. You’ll learn how to:
- override how Core Animation searches for custom animations
- add timing functions to animations
- change the duration of animations
- rotate an animation
- use implicit and explicit animations
Episode 3: Using a Custom Layout Manager
We’ll use various layout managers to arrange multiple photos in our application. You’ll learn how to:
- change constraints in Interface Builder
- use the built-in constraints-based layout manager
- build a custom layout manager
- apply various layout techniques
Episode 4: Creating Perspective Transformations
We’ll give our photos perspective by applying 3D transformations to rotate the images in 3D space. You’ll learn how to:
- apply 3D transformations to layers
- debug animations (prompted by an innocent typo near the end)
- refactor code in Xcode
- use various effects leading up to the richness of the Cover Flow app
Episode 5: Integrating with iPhoto
We’ll replace our hard-coded photos with photos pulled from iPhoto albums using a pop-up list to select the album. You’ll learn how to:
- integrate with iPhoto using the Scripting Bridge framework
- interface with applications that are AppleScript-enabled
- use the
sdptools to generate header files
- bind a controller to a pop-up list to select photo albums using Interface Builder
Episode 6: Adding Reflections and 3D Transformations
In this final episode, we’ll finish up the Cover Flow application by adding reflections to each of the photos and apply 3D transformations to the side photos. You’ll learn how to:
- add images and their masks to a reflection layer
- use Quartz drawing functions to create gradients for reflection masks
- rework the layout manager to properly handle 3D transformations
- apply 3D transformations and blur effects to images
- use a sublayer transformation to apply perspective transformations to the layer
These screencasts are designed for Cocoa programmers who have a basic working knowledge of Objective-C, although you can follow along if you know any object-oriented language.
Comments and Reviews
Fantastic screencast series!