首页 > 其他 > 详细

tableView 滑动滑出动画

时间:2015-11-10 15:48:05      阅读:150      评论:0      收藏:0      [点我收藏+]

简单的UITableViewCell特效 飞入飞出之类的  

 
 
看了一些最近放出来的控件, 有些是关于UITableViewCell显示的特效.

也有朋友问我咋做. 就写了个简单的介绍.

1. UITableVIew需要实现 - (void)tableView:(UITableView *)tableView willDisplayCell:(TestTableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath 
- (void)tableView:(UITableView *)tableView willDisplayCell:(TestTableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    [cell animationForIndexPath:indexPath];
}
2. UITableViewCell需要实现 - (void)animationForIndexPath:(NSIndexPath *)indexPath
- (void)animationForIndexPath:(NSIndexPath *)indexPath {
    int row = indexPath.row;
    float radians = (120 + row*30)%360;
    radians = 20;
    CALayer *layer = [[self.layer sublayers] objectAtIndex:0];

    // Rotation Animation
    CABasicAnimation *animation  = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];
    animation.fromValue =@DEGREES_TO_RADIANS(radians);
    animation.toValue = @DEGREES_TO_RADIANS(0);
    
    // Opacity Animation;
    CABasicAnimation *fadeAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"];
    fadeAnimation.fromValue = @0.1f;
    fadeAnimation.toValue = @1.f;
    
    // Translation Animation
    CABasicAnimation *translationAnimation = [CABasicAnimation animationWithKeyPath:@"transform.translation.x"];
    ;
    translationAnimation.fromValue = @(-300.f * ((indexPath.row%2 == 0) ? -1: 1));
    translationAnimation.toValue = @0.f;
    
    
    CAAnimationGroup *animationGroup = [CAAnimationGroup animation];
    animationGroup.duration = 0.4f;
    animationGroup.animations = @[animation,fadeAnimation,translationAnimation];
    animationGroup.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    [layer addAnimation:animationGroup forKey:@"spinAnimation"];
}


3. 对应的宏
#define DEGREES_TO_RADIANS(d) (d * M_PI / 180)

 

tableView 滑动滑出动画

原文:http://www.cnblogs.com/zhangwei/p/4953190.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!