几行代码实现tableView的动画效果
//给cell添加动画
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath*)indexPath
{
//设置Cell的动画效果为3D效果
//设置x和y的初始值为0.1;
cell.layer.transform = CATransform3DMakeScale(0.1, 0.1, 1);
//x和y的最终值为1
[UIView animateWithDuration:1 animations:^{
cell.layer.transform = CATransform3DMakeScale(1, 1, 1);
}];
}
只要把这几行代码加到tableView加载的那个界面里,就可以实现好看的动画效果。
当然,如果你了解3D动画的几个关键词rotate,scale,translation的话,你可以替换上面的关键字,分别使用下面三种方法,注意我加粗的字体哦,
cell.layer.transform = CATransform3DMakeScale(0.1, 0.1, 0.1);
cell.layer.transform=CATransform3DMakeRotation(M_PI,0.1,0.1,0.1);
cell.layer.transform = CATransform3DMakeTranslation(<#CGFloat tx#>, <#CGFloat ty#>, <#CGFloat tz#>)
[UIView animateWithDuration:1 animations:^{
cell.layer.transform = CATransform3DMakeScale(1, 1, 1);
}];//在block里执行的是动画执行完后的效果,括号的参数可以随便改改,看看效果吧,注意三个关键字,也就是你之前执行的动画要与执行完之后的动画是一个动画,就是说你前后使用的关键字要一样。