CABasicAnimation学习

2016-08-17  本文已影响25人  a2ebcc3676c1
- (void)moveOpacityFrom:(float)from to:(float)to useTime:(float)useTime
             timeOffset:(float)timeOffset goback:(BOOL)goback repeat:(int)repeat{
    CABasicAnimation *animation =[CABasicAnimation animationWithKeyPath:@"opacity"];
    animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];//匀速变化
    animation.duration = useTime;//一个周期的时间
    animation.repeatCount = repeat;//重复次数
    animation.removedOnCompletion = (repeat==1?YES:NO);//是否回到初始状态
    animation.autoreverses=goback; //是否自动回位(执行逆动画)
    animation.timeOffset = timeOffset;//延迟执行
    animation.fillMode=kCAFillModeForwards;
    animation.fromValue =  [NSNumber numberWithFloat:from];
    animation.toValue =  [NSNumber numberWithFloat:to];
    [self.layer addAnimation:animation forKey:@"moveOpacityFrom"];
}
//一次透明渐变
- (void)moveOpacityOnceFrom:(float)from to:(float)to useTime:(float)useTime{
    [self moveOpacityFrom:from to:to useTime:useTime timeOffset:0 goback:NO repeat:1];
}
//循环渐变透明
- (void)moveOpacityFrom:(float)from to:(float)to useTime:(float)useTime{
    [self moveOpacityFrom:from to:to useTime:useTime timeOffset:0 goback:YES repeat:INT_MAX_TIME];
}
- (void)moveOpacityCustomAnimation:(int)repeats{
    [self moveOpacityFrom:0.3 to:1 useTime:0.6 timeOffset:0 goback:YES repeat:repeats];//固定变化循环 repeats 次,
}
上一篇 下一篇

猜你喜欢

热点阅读