ios 开发学习日志 自定义alertView5

来源:互联网 发布:现在windows出到几了 编辑:程序博客网 时间:2024/06/06 20:23

 一. CABasicAnimation

    1. 使用"animationWithKeyPath:"方法进行CABasicAnimation的实例化,并指定Layer的属性作为关键路径来注册

CABasicAnimation *animation=[CABasicAnimation animationWithKeyPath:@"position"];
    2. 设定动画

属性说明duration动画时长(秒为单位)repeatCount重复次数。永久重复的话设置为HUGE_VALF。beginTime指定动画开始时间。从开始指定延迟几秒执行的话,请设置为
「CACurrentMediaTime() + 秒数」的形式。timingFunction设定动画的速度变化autoreverses动画结束时是否执行逆动画


  

animation.duration=2.5;//动画持续时间animation.repeatCount=1; // 不重复animation.beginTime=CACurrentMediaTime()+2;  // 2秒后执行// 动画先加速后减速 animation.timingFunction=[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];

  3.设定动画的开始帧和结束帧

设定动画开始和结束帧的状态。设定的值会变成KeyPath所指定的属性的值。

属性说明fromValue开始值toValue终了值(絶対値)byValue终了值(相对值)

// 指定position属性(移动)CABasicAnimation *animation=[CABasicAnimation animationWithKeyPath:@"position"];...// 设定动画起始帧和结束帧animation.fromValue=[NSValue valueWithCGPoint:CGPointMake(0,0)];  // 起始点animation.toValue=[NSValue valueWithCGPoint:CGPointMake(320,480)]; //终了点

5.添加动画

为Layer添加设置完成的动画,可以给Key指定任意名字。

[myView.layer addAnimation:animation forKey@"move-layer"];

 6.动画结束后回到出事状态的解决方法

用CABasicAnimation执行动画,在动画结束后会回归动画开始前的状态,想要解决的话必须设置“removedOnCompletion”和“fillMode”这两个属性

// 动画终了后不返回初始状态animation.removedOnCompletion=NO;animation.fillMode=kCAFillModeForwards;


0 0
原创粉丝点击