-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
//1. Setup the CATransform3D structure
CATransform3D rotation;
rotation = CATransform3DIdentity;
rotation =? CATransform3DTranslate(rotation, 30, 0, 0); //CATransform3DMakeRotation( (15*M_PI)/180, 0.0, 0.7, 0.5);
rotation.m34 = 1.0/ -500;
//2. Define the initial state (Before the animation)
cell.layer.shadowColor = [[UIColor blackColor]CGColor];
cell.layer.shadowOffset = CGSizeMake(10, 10);
cell.alpha = 0.0;
cell.layer.transform = rotation;
cell.layer.anchorPoint = CGPointMake(0, 0.5);
//!!!FIX for issue #1 Cell position wrong------------
if(cell.layer.position.x != 0){
cell.layer.position = CGPointMake(0, cell.layer.position.y);
}
//3. Define the final state (After the animation) and commit the animation
double secondsDelay = indexPath.row *0.08;
if (secondsDelay > 0.6) {
secondsDelay = 0.1;
}
[UIView animateWithDuration:0.5 delay:secondsDelay usingSpringWithDamping:1.0 initialSpringVelocity:0.5 options:0 animations:^{
cell.layer.transform = CATransform3DIdentity;
cell.alpha = 1;
cell.layer.shadowOffset = CGSizeMake(0, 0);
} completion:^(BOOL finished) {}];
}