###第一個動畫
-(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];
}
複製程式碼
###第二個動畫
- (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];
}
複製程式碼