(抄)UITableVIewCell在显示时逐个滑入动效

(抄)UITableVIewCell在显示时逐个滑入动效_第1张图片

-(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) {}];

}

你可能感兴趣的:((抄)UITableVIewCell在显示时逐个滑入动效)