iOS-UITableViewCell的动画效果(一)

第一个动画

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
///配置 CATransform3D 动画内容
            CATransform3D  transform;
            transform.m34 = 1.0/-800;
            //定义 Cell的初始化状态
            cell.layer.transform = transform;
            //定义Cell 最终状态 并且提交动画
            [UIView beginAnimations:@"transform" context:NULL];
            [UIView setAnimationDuration:1];
            cell.layer.transform = CATransform3DIdentity;
            cell.frame = CGRectMake(0, cell.frame.origin.y, cell.frame.size.width, cell.frame.size.height);
            [UIView commitAnimations];
}
动画效果.gif

第二个动画

- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
            CATransform3D  transform;
            transform = CATransform3DMakeRotation((CGFloat)((90.0 * M_PI) / 180.0), 0.0, 0.7, 0.4);
            transform.m34 = 1.0/-600;
            cell.layer.shadowColor = [[UIColor blackColor] CGColor];
            cell.layer.shadowOffset = CGSizeMake(10, 10);
            cell.alpha = 0;
            cell.layer.transform = transform;
            cell.layer.anchorPoint = CGPointMake(0, 0.5);//锚点
            if(cell.layer.position.x != 0){
                cell.layer.position = CGPointMake(0, cell.layer.position.y);
            }
            [UIView beginAnimations:@"transform" context:NULL];
            [UIView setAnimationDuration:0.8];
            cell.layer.transform = CATransform3DIdentity;
            cell.alpha = 1;
            cell.layer.shadowOffset = CGSizeMake(0, 0);
            [UIView commitAnimations];
}
动画效果2.gif

你可能感兴趣的:(iOS-UITableViewCell的动画效果(一))