美文网首页
CoreAnimation实例详解

CoreAnimation实例详解

作者: lvzhehappy | 来源:发表于2019-07-24 23:27 被阅读0次

    CoreAnimation简介

    核心动画是一组非常强大的动画API,能过做出很多炫丽的动画,看上去很高大上,其中常用的四个动画类分别是CABasicAnimation,CAKeyframeAnimation,CAAnimationGroup,CATransition。

    常用属性

    1.removedOnCompletion YES代表动画执行完成后还原到初始状态,反之亦然

    2.timingFunction介绍

      kCAMediaTimingFunctionLinear 匀速运动

      kCAMediaTimingFunctionEaseIn 缓慢进入,加速离开

      kCAMediaTimingFunctionEaseOut 快速进入,缓慢离开

      kCAMediaTimingFunctionEaseInEaseOut 缓慢进入,中间加速,缓慢离开

    3.fillmode介绍

     kCAFillModeForwards 动画结束后保持动画的状态 与removedOnCompletion=NO联用

     kCAFillModeBackwards  动画从初始状态开始执行

     kCAFillModeBoth 动画加入后开始之前,处于动画初始状态,动画结束后保持动画最后的状态

    kCAFillModeRemoved 动画将在设置的 beginTime 开始执行(如没有设置beginTime属性,则动画立即执行),动画执行完成后会将layer的改变恢复原状

    4.其他属性

    duration:动画时长

    fromValue:动画初始值

    toValue: 动画结束值

    autoreverses: 动画结束后执行可逆动画

    repeatCount:重复次数

    动画实例介绍

    位移,缩放,旋转,透明度,背景色,帧动画,组动画,弹球

    贝塞尔曲线介绍

    UIBezierPath是一组绘制图形的API,功能也是非常强大,常用于视图渲染路径

    常用方法

    + (instancetype)bezierPath; 初始化UIBezierPath对象

    + (instancetype)bezierPathWithRect:(CGRect)rect;画一个矩形

    + (instancetype)bezierPathWithOvalInRect:(CGRect)rect;画一个圆形

    + (instancetype)bezierPathWithRoundedRect:(CGRect)rect cornerRadius:(CGFloat)cornerRadius;画一个圆角的矩形

    + (instancetype)bezierPathWithRoundedRect:(CGRect)rect byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;画一个圆角矩形,确定哪一个角是圆角

    + (instancetype)bezierPathWithArcCenter:(CGPoint)center radius:(CGFloat)radius startAngle:(CGFloat)startAngle endAngle:(CGFloat)endAngle clockwise:(BOOL)clockwise;画一段圆弧

    - (void)moveToPoint:(CGPoint)point;移动到某个点

    - (void)addLineToPoint:(CGPoint)point;从某个定点连接一条直线

    - (void)addCurveToPoint:(CGPoint)endPoint controlPoint1:(CGPoint)controlPoint1 controlPoint2:(CGPoint)controlPoint2;以endPoint为终点,以controlPoint1、controlPoint2两个点为控制点,绘制贝塞尔曲线

    - (void)addQuadCurveToPoint:(CGPoint)endPoint controlPoint:(CGPoint)controlPoint;以endPoint为终点,以controlPoint为控制点,绘制二阶贝塞尔曲线。

    - (void)closePath;连接起点和终点,使其成为一个闭合的图形

    - (void)removeAllPoints;移除路径中所有的点

    - (void)appendPath:(UIBezierPath *)bezierPath;增加一段路径

    - (UIBezierPath *)bezierPathByReversingPath 翻转一段路径

    - (void)applyTransform:(CGAffineTransform)transform;针对一段路径发生形变或者位移

    - (void)setFill;路径填充颜色

    - (void)setStroke;路径画线颜色

    锚点介绍

     锚点(anchorPoint)就是定位点,view的定位点默认就是中点(0.5,0.5),锚点(x,y)取值范围是0~1,如果锚点设置成(0,0),相当于先前的左上角(0,0)移动到以前的中点位置,向下移动w/2,向右移动w/2

    时钟demo实例介绍

      

    完整项目链接:https://gitee.com/lvzhehappy/animation.git

    相关文章

      网友评论

          本文标题:CoreAnimation实例详解

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