iPhone Animation Meetup

Alexis Goldstein of aut faciam. Pace University, October 27, 2010. Slides, and the following source code at github.

Apple’s documentation

  1. Core Animation Programming Guide
  2. Core Animation Cookbook
  3. Animation Types and Timing Programming Guide
  4. A Short Practical Guide to Blocks

Source code in alexisgo-AnimationTalk-09ce067-1.zip

  1. main.m
  2. Class AnimationTalkAppDelegate creates a RootViewController and a UINavigationController.
  3. Class RootViewController is a controller, delegate, and data source for a table view.
  4. Class SampleManager is a view controller.
  5. Classes that pass a block to the animateWithDuration:animations: class method of class UIView.
    1. Class SetAlpha (“Fade In and Out”)
    2. Class SetCenter (“Move the View”)
    3. Class SetTransform (“Rotate the View”)
    4. Class NestedAnimations (“Nested Animations”) passes animation and completion blocks to the animateWithDuration:delay:options:animations:completion: class method of class UIView. The completion blocks contain calls to the same method.
  6. Classes that call the transitionWithView:duration:options:animations:completion: class method of class UIView.
    1. Class StickyNote (“trasitionWithView (CurlUp)”) passes the option UIViewAnimationOptionTransitionCurlUp.
    2. Class FlipTransition (“transitionWithView (Flip)”) passes the option UIViewAnimationOptionTransitionFlipFromLeft and a completion block.
  7. Classes that add a sublayer to the view’s layer, and then do an implicit animation of the sublayer’s position.
    1. Class ChangePosition (“Change Layer Position”)
    2. Class ShadowPath (“Add Shadow Path to Layer”)
  8. Classes that add a sublayer to the view’s layer, and then do an explicit animation of the sublayer.
    1. Class KeyFrame (“CAKeyframeAnimation (values)”) adds a sublayer to the view’s layer, and then adds a CAKeyframeAnimation object to the sublayer.
    2. Class BasicAnimation (“CABasicAnimation (opacity)”) adds a CABasicAnimation object to the view’s layer.
  9. png files
    1. meiInTank.png
    2. floorSmall.png
    3. meiTankSm.png