CABasicAnimation 简单的用法

来源:互联网 发布:方象餐饮软件 编辑:程序博客网 时间:2024/04/27 18:20

//CABasicAnimation
这里写图片描述

这里一个简单的例子

- (void)scaleLayer {    //初始化caLayer    CALayer * scaleLayer = [[CALayer alloc]init];    scaleLayer.backgroundColor = [UIColor blueColor].CGColor;    scaleLayer.frame = CGRectMake(100, 100, 100, 100);    scaleLayer.cornerRadius = 10;    scaleLayer.contents = (id)[UIImage imageNamed:@"1"].CGImage;    [self.view.layer addSublayer:scaleLayer];    //设定动画    //path     //transform    //rotaion(x,y,z)  scale(x,y,z) translation(x,y,z)    //eg: transform.scale.x    /**     *  CABasicAnimation 主要需要设置 的值        1.keyPath:指定该动画怎么样执行        2.fromValue toValue         3.autonreverses 回来的动画        4.repeatCount 重复次数        5.duration 持续时间        6.fillMode 模式     */    CABasicAnimation * scaleAnimation = [CABasicAnimation animationWithKeyPath:@"transform.scale"];    scaleAnimation.fromValue = @(1.0);    scaleAnimation.toValue   = @(1.5);    scaleAnimation.autoreverses = YES;// 这个是 从 1.0=》1.5 然后从 1.5=》1.0 (两次动画算一次动画)。如果是NO就是一直从1.0=》1.5(一次动画)    scaleAnimation.repeatCount = MAXFLOAT;    scaleAnimation.duration = 0.8;    scaleAnimation.removedOnCompletion = NO;    /**     测试的时候 把 repeatCount = 1       removedOnCompletion = NO 才有下面的效果     kCAFillModeForwards: 保持最后的动画状态( 动画时间点向前 = 》 过了初始状态)     kCAFillModeBackwards:保持初始状态(动画时间点向后=》 初始状态)     kCAFillModeBoth     kCAFillModeRemoved    开始(backward)-----动画执行------> 结束(Forword)     */    scaleAnimation.fillMode = kCAFillModeForwards;    //开始执行动画    [scaleLayer addAnimation:scaleAnimation forKey:@"scaleAnimation"];}
0 0
原创粉丝点击