动画集合
2017-08-23 本文已影响8人
我是卖报滴小行家
CAAnimation 一个抽象的动画类,可以使用它的子类来实现动画.
- CAMediaTiming
duration :执行完成动画的时间
beginTime :开始动画的时间
removedOnCompletion :动画执行完毕是否移除动画
fillMode :动画完成后的呈现方式
repeatCount :动画循环次数
repeatDuration :动画循环时长
timeOffset :时间的偏移.
speed :速度
autoreverses :执行完成后是否归回原位
属性动画
- CABasicAnimation : 可以通过设置一个关键帧来实现layer的属性动画.
fromValue :动画起始值
toValue :动画结束值
byValue :动画执行过程中的插入值(有叠加效果)
1.使用时要注意这三个值尽量不要同时使用,防止冲突.
2.对象类型必须匹配属性的类型是动画
CABasicAnimation *basic = [CABasicAnimation animationWithKeyPath:@"position"];
basic.fromValue = [NSValue valueWithCGPoint:CGPointMake(100, 100)];
basic.toValue = [NSValue valueWithCGPoint:CGPointMake(300, 300)];
basic.duration = 0.5;
basic.beginTime = CACurrentMediaTime()+1;
basic.fillMode = kCAFillModeForwards;
basic.removedOnCompletion = NO;
[self.basicView.layer addAnimation:basic forKey:@""];
- CAKeyframeAnimation : 可以通过设置一个关键帧来实现layer的属性动画.
values :keyPath的值变化组
path :可以设置一个path,作为运动路径
keyTimes :每个关键帧的时长
timingFunction
calculationMode :该属性决定了物体在每个子路径下是跳着走还是匀速走
rotationMode :旋转轨道类型
tensionValues
continuityValues
biasValues
CAKeyframeAnimation *keyAnimation = [CAKeyframeAnimation animationWithKeyPath:@"backgroundColor"];
keyAnimation.values = @[(id)[UIColor redColor].CGColor, (id)[UIColor yellowColor].CGColor, (id)[UIColor blueColor].CGColor];
keyAnimation.duration = 2;
keyAnimation.keyTimes = @[[NSNumber numberWithFloat:0.0], [NSNumber numberWithFloat:0.1],[NSNumber numberWithFloat:1.0]];
keyAnimation.beginTime = CACurrentMediaTime()+1;
keyAnimation.fillMode = kCAFillModeForwards;
keyAnimation.removedOnCompletion = NO;
[self.basicView.layer addAnimation:keyAnimation forKey:@""];