几行代码实现tableView的动画效果

2016-06-23  本文已影响332人  EdwardSelf

//给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里执行的是动画执行完后的效果,括号的参数可以随便改改,看看效果吧,注意三个关键字,也就是你之前执行的动画要与执行完之后的动画是一个动画,就是说你前后使用的关键字要一样。

上一篇下一篇

猜你喜欢

热点阅读