动画集合

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:@""];
  • http://www.cocoachina.com/programmer/20131218/7569.html

你可能感兴趣的:(动画集合)