各种动画

//闪烁动画

+(CABasicAnimation *)animationShanShuo:(CFTimeInterval)duration repeatCount:(float)count isRemoveOnCompletion:(BOOL)isreMove fromValue:(id)fromValue toValue:(id)toValue{

    

    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"opacity"];//必须写opacity才行。

    animation.fromValue = fromValue;

    animation.toValue = toValue;

    animation.autoreverses = YES;

    animation.duration = duration;

    animation.repeatCount = count;

    animation.removedOnCompletion = isreMove;

    animation.fillMode = kCAFillModeForwards;

    animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseIn];///没有的话是均匀的动画。

    

    return animation;

}


//向下移动画

+(CABasicAnimation *)animtionToMoveX:(NSNumber *)x andTime:(float)time{

    

    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.translation.x"];///.y的话就向下移动。

    animation.toValue = x;

    animation.duration = time;

    animation.removedOnCompletion = NO;

    animation.repeatCount = MAXFLOAT;

    animation.fillMode = kCAFillModeForwards;

    

    return animation;

}


//放大缩小动画

+(CABasicAnimation *)animaltionToscale:(NSNumber *)fromValue toValue:( NSNumber *)tovalue durTimes:(float)time repeat:(float)repeatTimes{

    

    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];

    animation.fromValue = fromValue;

    animation. toValue = tovalue;

    animation. autoreverses = NO;//此处改为YES 效果会不一样哦

    animation. repeatCount = repeatTimes;

    animation. duration = time;

    animation. removedOnCompletion = NO;

    animation. fillMode = kCAFillModeForwards ;

    

    return  animation;

}


//旋转动画

+(CABasicAnimation *)animationTorotation:(float)duration degree:(float)degree toX:(float)x toY:(float)y toZ:(float)z repeatCount:(int)repeatCount{

    

    CATransform3D rotationTransform = CATransform3DMakeRotation(degree, x , y , z);

    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"transform"];

    

    animation.toValue = [ NSValue valueWithCATransform3D :rotationTransform];

    

    animation.duration =  duration;

    

    animation.autoreverses = YES ;

    

    animation.cumulative = NO ;

    

    animation.fillMode = kCAFillModeForwards ;

    

    animation.repeatCount = repeatCount;

    

//    animation.delegate = self ;

    

    return animation;

    

}

//路径动画

+(CAKeyframeAnimation *)animationToframe:(CGMutablePathRef)path durTimes:(float)time repeat:(float)repeatTimes{

    

    CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position" ];

    animation.path = path;

    animation.removedOnCompletion = NO;

    animation.fillMode = kCAFillModeForwards ;

    animation.timingFunction = [CAMediaTimingFunction functionWithName : kCAMediaTimingFunctionEaseIn];

    animation.autoreverses = NO ;

    animation.duration = time;

    animation.repeatCount = repeatTimes;

    

    return animation;

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值