CoreAnimation实例详解

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实例详解)