iOS动画基础准备

作者: mayChunJ | 来源:发表于2016-08-04 21:22 被阅读80次

    做开发这么长时间,由于是中途转的iOS ,有许多基础知识掌握的不牢靠,所以最近决定整理整理基础知识,补补之前欠下的债,毕竟,出来混总是要还的。我专门开了一个文集,专门写动画的,个人认为动画在iOS中所占的比重还是非常大的。代码是需要积累的,知识也是需要积累的,倘若基础知识都没掌握好,我感觉到后面的路也不是很稳健。

    废话不多说了,今天先梳理一下动画的知识点。iOS 动画 我个人认为分为两类动画(只是个人观点,基础不好,如有错误请指正),1.核心动画 Core Animation 2.UIView动画 。

    今天梳理梳理核心动画的知识点:

    什么是核心动画:核心动画是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。

    Core Animation 是跨平台的,可以在iOS平台和Mac OS X。

    Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。不阻塞主线程。

     首先我们得搞清楚Core Animation结构图:

由结构图可以看出,

    Core Animation是所有动画类的的父类,但是不能使用,必须使用它的子类。能用的子类有:CABasicAnimation(基础动画),CAKeyframeAnimation(帧动画),CATransition(转场动画),CAAnimationGroup(组动画)。以上的4个类都属于核心动画的类。

核心动画所共有的属性:

    duration:动画持续时间

    repeatCount:重复次数

    repeatDuration:重复时间

    removedOnCompletion:YES 时动画结束后会从图层(layer)上移除,会恢复到动画运行之前的样子。为NO时反之。 不过还要设置fillMode为kCAFillModeForwards .

    fillMode:设置动画结束之后动画的属性。

    beginTime:设置动画延迟时间,延迟几秒开始。

    timingFunction:控制动画运行节奏。

     delegate:动画代理。

     CAAnimation在分类中定义了代理方法

   @interfaceNSObject

- (void)animationDidStart:(CAAnimation *)anim;

- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag;

@end

   速度控制函数(CAMediaTimingFunction)

    1> kCAMediaTimingFunctionLinear(线性):匀速,给你一个相对静态的感觉

    2> kCAMediaTimingFunctionEaseIn(渐进):动画缓慢进入,然后加速离开

    3> kCAMediaTimingFunctionEaseOut(渐出):动画全速进入,然后减速的到达目的地

    4> kCAMediaTimingFunctionEaseInEaseOut(渐进渐出):动画缓慢的进入,中间加速,然后减速的到达目的地。        这个是默认的动画行为。

   补充:核心动画的使用

  1.使用它需要先添加QuartzCore.framework框架和引入主头文件(iOS7不需要)

  2.初始化一个CAAnimation对象,并设置一些动画相关属性,包括opacity, position, transform, bounds, contents等(可以在API文档中搜索:CALayer Animatable Properties)

   3.通过调用CALayer的addAnimation:forKey:方法增加CAAnimation对象到CALayer中,这样就能开始执行动画了

  4.通过调用CALayer的removeAnimationForKey:方法可以停止CALayer中的动画

  CALayer核心动画与UIView动画的区别:

    UIView封装的动画执行完毕之后不会反弹。即如果是通过CALayer核心动画改变layer的位置状态,表面上看虽然已经改变了,但是实际上它的位置是没有改变的

相关文章

  • iOS 动画基础总结篇

    iOS 动画基础总结篇 iOS 动画基础总结篇

  • iOS动画基础准备

    做开发这么长时间,由于是中途转的iOS ,有许多基础知识掌握的不牢靠,所以最近决定整理整理基础知识,补补之前欠...

  • iOS动画

    iOS动画分为基础动画和核心动画 本文发布在http://he8090.cn/2016/07/18/iOS动画/...

  • iOS核心动画总结

    基础概念 iOS图形架构 核心动画是 iOS 和 MacOS 上的图形渲染和动画基础结构,用于为应用的视图和...

  • 1. 控制动画

    《iOS编程》第27章 控制动画 学习笔记 基础动画 关键帧动画

  • 动画

    Core Animation iOS 动画主要是指Core Animation框架, 基础动画(CABasicAn...

  • 动画(二)

    这期动画是对基础动画的一个小结。动画的基本属性请看:iOS动画一 说到总结基础动画再总结下属性吧。想要的动画的动画...

  • iOS Core Animation (一) 基础动画

    iOS核心动画Core Animation分为几类:基础动画、关键帧动画、动画组、转场动画。关系大致如下图: CA...

  • 核心动画一览

    基础 核心动画是 iOS 和 MacOS 上的图形渲染和动画基础结构,用于为应用的视图和其他视觉元素设置动画。 核...

  • iOS学习笔记(7)-动画基础

    iOS动画涉及图形学的一些内容,已经忘记的差不多了,关于动画的笔记准备分两篇,第一篇总结动画基础,第二篇则是完成一...

网友评论

    本文标题:iOS动画基础准备

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