Core Animation

Animation

 * http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CoreAnimation_guide/Articles/AnimatingLayers.html
 * http://developer.apple.com/library/ios/#documentation/GraphicsImaging/Conceptual/CoreAnimation_Cookbook/Introduction/Introduction.html
 * http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIView_Class/UIView/UIView.html

self.layer.backgroundColor = [activeBackgroundColor_ CGColor];

[UIView beginAnimations:@"viewAnimation1" context:nil]; [UIView setAnimationBeginsFromCurrentState:YES]; [UIView setAnimationDuration:0.05]; self.backgroundColor = activeBackgroundColor_; [UIView commitAnimations];

[UIView animateWithDuration:0.1 delay:0.0 options:UIViewAnimationOptionAllowUserInteraction animations:^{ self.backgroundColor = activeBackgroundColor_; } completion:NULL];

General

 * http://developer.apple.com/mac/library/DOCUMENTATION/GraphicsImaging/Conceptual/drawingwithquartz2d/dq_affine/dq_affine.html
 * http://stackoverflow.com/questions/630265/iphone-uiview-animation-best-practice
 * http://www.waterworld.com.hk/en/node/91
 * http://www.iphonedevsdk.com/forum/iphone-sdk-development/7398-catransition-animation-mimicking-pushviewcontrollers-animation.html

Gradient
As of iPhone SDK 3.0, custom gradients can be implemented very easily, without subclassing or images, by using the new CAGradientLayer: UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 100)] autorelease]; CAGradientLayer *gradient = [CAGradientLayer layer]; gradient.frame = view.bounds; gradient.colors = [NSArray arrayWithObjects:(id)[[UIColor blackColor] CGColor], (id)[[UIColor whiteColor] CGColor], nil]; [view.layer insertSublayer:gradient atIndex:0];
 * http://stackoverflow.com/questions/422066/gradients-on-uiview-and-uilabels-on-iphone