Creating a Compelling User Interface with Core Animation
by Bill Dudney
Available in DRM-free iPod/iPhone 3 Video, Quicktime Video, and iPad/iPhone 4 Video.
Download and watch when and where you want.
No longer offered.
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.
About This Title
No longer offered.
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.
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 sdef and sdp tools 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.
Brought to You By
Bill Dudney is a software developer and entrepreneur currently building software for the Mac. He’s also the author of Core Animation for OS X and the iPhone. Bill started his computing career on a NeXT cube with a magneto-optical drive running NeXTStep 0.9. Over the years, Bill migrated into the Java world, where he worked for years on building cool enterprise software. But he never forgot his roots and how much fun it was to write software that did cool things for normal people. Bill is back to AppKit to stay. You can follow him on his blog.