美文网首页
CABasicAnimation旋转动画

CABasicAnimation旋转动画

作者: anny_4243 | 来源:发表于2017-08-18 15:00 被阅读430次

    CABasicAnimation *animation = [CABasicAnimation
    animationWithKeyPath:@"transform.rotation.z"];
    //默认是顺时针效果,若将fromValue和toValue的值互换,则为逆时针效果
    animation.fromValue = [NSNumber numberWithFloat:0.f];
    animation.toValue = [NSNumber numberWithFloat: M_PI /2];
    animation.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]; // 动画效果慢进慢出
    animation.duration = 0.1; //动画持续时间
    animation.fillMode = kCAFillModeForwards;
    animation.removedOnCompletion = NO; //动画后是否回到最初状态(配合kCAFillModeForwards使用)
    animation.repeatCount = 1; //如果这里想设置成一直自旋转,可以设置为MAXFLOAT,否则设置具体的数值则代表执行多少次
    [view.layer addAnimation:animation forKey:nil];

    旋转动画.gif

    注:
    fillMode:决定当前对象在非active时间段的行为.比如动画开始之前,动画结束之后

    kCAFillModeRemoved 这个是默认值,也就是说当动画开始前和动画结束后,动画对layer都没有影响,动画结束后,layer会恢复到之前的状态(可以理解为动画执行完成后移除)

    kCAFillModeForwards 当动画结束后,layer会一直保持着动画最后的状态

    kCAFillModeBackwards 当在动画开始前,你只要把layer加入到一个动画中,layer便立即进入动画的初始状态并等待动画开始.你可以这样设定测试代码,延迟3秒让动画开始,只要动画被加入了layer,layer便处于动画初始状态

    参考链接:http://www.jianshu.com/p/91fccd32f6fb

    相关文章

      网友评论

          本文标题:CABasicAnimation旋转动画

          本文链接:https://www.haomeiwen.com/subject/izrarxtx.html