//This function is where all the magic happens
-(
void
)tableView:(
UITableView
*)tableView willDisplayCell:(
UITableViewCell
*)cell forRowAtIndexPath:(
NSIndexPath
*)indexPath{
//1. Setup the CATransform3D structure
CATransform3D rotation;
rotation = CATransform3DMakeRotation( (90.0*M_PI)/180, 0.0, 0.7, 0.4);
rotation.m34 = 1.0/ -600;
//2. Define the initial state (Before the animation)
cell.layer.shadowColor = [[
UIColor
blackColor]CGColor];
cell.layer.shadowOffset = CGSizeMake(10, 10);
cell.alpha = 0;
cell.layer.transform = rotation;
cell.layer.anchorPoint = CGPointMake(0, 0.5);
//3. Define the final state (After the animation) and commit the animation
[
UIView
beginAnimations:
@"rotation"
context:
NULL
];
[
UIView
setAnimationDuration:0.8];
cell.layer.transform = CATransform3DIdentity;
cell.alpha = 1;
cell.layer.shadowOffset = CGSizeMake(0, 0);
[
UIView
commitAnimations];
}
原文链接:http://www.thinkandbuild.it/animating-uitableview-cells/