UitableView Cell Load with animation

//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);

    

    //!!!FIX for issue #1 Cell position wrong————

    if(cell.layer.position.x != 0){

        cell.layer.position = CGPointMake(0, cell.layer.position.y);

    }

    

    //4. 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];

}

Leave a comment