美文网首页
动画知识点总结

动画知识点总结

作者: woniu | 来源:发表于2018-05-29 09:18 被阅读24次
为无为,事无事,味无味。大小多少,报怨以德。图难于其易,为大于其细。天下难事必作于易,天下大事必作于细。是以圣人终不为大,故能成其大。夫轻诺必寡信,多易必多难。是以圣人犹难之,故终无难矣。 ------老子《道德经·第六十三章》

以前老妈总是教育我,做事“不怕慢就怕干”、“白图省事”、“要踏实,一步一个脚印”,没想到跟《道德经》的思想颇有几分吻合😆。同时,在工作生活中也慢慢的体会到了先人思想的深邃和伟大,看来在以后老妈不在身边督促的日子里,还是要多多读书,好好修行。以后也好教育孩子,虽然现在女朋友都没得(凡事早做准备吗)。
好了,我们开始今天的动画分析吧。


四类动画

一、Core Animation简介

  • Core Animation是核心动画,是一组非常强大的动画处理API,可以做出绚丽的动画效果。
  • Core Animation执行动画都是在后台操作的,不会阻塞主线程。
  • Core Animation直接作用于CALayer上,并不是UIView。
    重点:动画的本质就是修改图层的某些属性

二、CAPropertyAnimation

CAPropertyAnimation是CAAnimation的子类,也是个抽象类,想要创建动画对象,要使用它的两个子类:CABasicAnimation&&CAKeyframeAnimation

1、CAPropertyAnimation--基本动画

  • 相应的属性
    fromValue:keyPath相应属性的初始值
    toValue:keyPath相应属性的结束值
  • 动画过程
    随着动画的进行,在长度为duration的持续时间内,keyPath相 应属性的值从fromValue渐渐地变为toValue
    keyPath内容是CALayer的可动画Animatable属性
    如果fillMode=kCAFillModeForwards同时removedOnComletion=NO,那么在动画执行完毕后,图层会保持显示动画执行后的状态。但在实质上,图层的属性值还是动画执行前的初始值,并没有真正被改变。

2、CAKeyframeAnimation——关键帧动画

关键帧动画,也是CAPropertyAnimation的子类,与CABasicAnimation的区别是:
2.1、CABasicAnimation只能从一个数值(fromValue)变到另一个数值(toValue),而CAKeyframeAnimation会使用一个NSArray保存这些数值。
2.2、CABasicAnimation可看做是只有2个关键帧的CAKeyframeAnimation

  • 属性说明:
    values:上述的NSArray对象。里面的元素称为“关键帧”(keyframe)。动画对象会在指定的时间(duration)内,依次显示values数组中的每一个关键帧
    path:可以设置一个CGPathRef、CGMutablePathRef,让图层按照路径轨迹移动。path只对CALayer的anchorPoint和position起作用。如果设置了path,那么values将被忽略
    keyTimes:可以为对应的关键帧指定对应的时间点,其取值范围为0到1.0,keyTimes中的每一个时间值都对应values中的每一帧。如果没有设置keyTimes,各个关键帧的时间是平分的

三、转场动画——CATransition

CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点

  • UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果
  • 动画属性:
    type:动画过渡类型
    subtype:动画过渡方向
    startProgress:动画起点(在整体动画的百分比)
    endProgress:动画终点(在整体动画的百分比)


    转场动画

四、CAAnimationGroup——动画组

CAAnimationGroup是CAAnimation的子类,可以保存一组动画对象,将CAAnimationGroup对象加入层后,组中所有动画对象可以同时并发运行

  • 属性说明:
    animations:用来保存一组动画对象的NSArray。
    默认情况下,一组动画对象是同时运行的,也可以通过设置动画对象的beginTime属性来更改动画的开始时间。

参考资料1
参考资料2
Demo传送门

Masonry详细使用
适配iPhone X遇到的坑
首次启动引导页

相关文章

网友评论

      本文标题:动画知识点总结

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