这里主要讲的是使用CoreAnimate实现所需的动画。
简介一些,可以设置layer的移动,大小,三维位置,透明度,圆角,背景颜色。ios和osx的是不一样的,官网的只是简介,没有太多实际的例子。
 
关键词: UIView Animation, QuartzCore, CAAnimation, UIBezierPath, CGAXXX, CADisplayLink, UIKit Dynamic(UIDynamics, UISnapBehavior), CAEmitter, pop
 
关于UIKit中的Dynamic,其实就是加入了一个简化版的2D动画引擎到APP应用中。也没有什么好介绍的,网上可以轻易的找到很多例子教程。无非就是重力,碰撞,震动等物理特性进行封装,不具有随机性,用法也非常简单。是独立开来的另外一个引擎框架。
 
pop库,facebook的开源动画引擎,据说效率更高,没有测试过,不误导,直接上链接:https://github.com/facebook/pop
 
再讨论Core Animation类体系图:
 
CAEmitter ???自带的粒子发射效果,做一个火焰?雾气?好像也没用上的机会。网上也是好多demo,很容易找.
 
QuartzCore其实是Core Animation的框架名字。而Core Animation是框架中的一等公民,位于media层,我们使用的CALayer就是来自于Quartz框架的,系统进行了大量的封装,各种图形,供各位开发者进行快速开发。而不是使用OpenGL ES这里更加底层的东西。这里毕竟不是游戏开发,只是app,学习成本不会太高。
 
其实大多数情况下,CAAnimation是能满足需求的。就是重绘,刷新视图,或者使用贝赛尔曲线直接绘制各种图形。(UIBezierPath)
实际应用例子:http://kittenyang.com/drawablebubble/   qq的消息气泡。原理:不断的响应势点击事件,利用贝塞尔曲线不断的重绘图形。还有其他的简洁的例子,在很多网站上都能快速的查阅到。
这里顺带提一下:CADisplayLink的作用原理,就是加入一个函数到进程的runloop中,每次runloop执行的话会执行这个sel,可以设置频率。注意一点,既然是系统的runloop,那么就要慎用了,如果加了很多操作?软件肯定会卡死的,慎用。
 
而事实上,我自己在开发的时候,用的最多的是自带的View Animation,非常简洁大方的代码。自带的spring函数,使用也非常简单。
我常使用于各种视图切换,以及各种按钮移动动画效果。
 
其实也很少有app用到很多动画的,用得好的话能让app应用变得高级很多,体验效果非常不一样。例如,最近很多人用的格拉瓦电影app,里边的一些效果就做得非常好,例如电影介绍页面,自定义的视图切换,选购按钮设计,不卡的tableView(圆形按钮等各种优化处理,可以通过xcode自带的core animate测试工具看出来),很用心的应用。但是,还是觉得有点乱乱的。动画还是多了点。使得整个app看起来,不够简洁,干净。(对比市场上大多数的app)。顺带说一下,那种图片的动画,一般就是截图+size+pos+bezierpath 进行处理的,都不麻烦的。
 
说到这儿,app的动画也讲完了,其实内容也不多。摘录上一篇CoreAnimation中推荐的一本书的语句:动画只是CoreAnimate的一小部分而已。   真的是实在话。
 

iOS CoreAnimate 动画实现的更多相关文章

  1. iOS CoreAnimate

    iOS CoreAnimate 东西比较多,这篇笔记是入门用的,主要讲述的是静态的图形绘画处理问题.(当然动画也只是一小部分)理解相关的概念问题:   参考资料 http://segmentfault ...

  2. iOS核心动画学习整理

    最近利用业余时间终于把iOS核心动画高级技巧(https://zsisme.gitbooks.io/ios-/content/chapter1/the-layer-tree.html)看完,对应其中一 ...

  3. IOS 核心动画之CAKeyframeAnimation - iBaby

    - IOS 核心动画之CAKeyframeAnimation - 简单介绍 是CApropertyAnimation的子类,跟CABasicAnimation的区别是:CABasicAnimation ...

  4. iOS各种动画效果

    ios各种动画效果 最普通动画: //开始动画 [UIView beginAnimations:nil context:nil];  //设定动画持续时间 [UIView setAnimationDu ...

  5. IOS之动画

    IOS之动画   15.1 动画介绍 15.2 Core Animation基础 15.3 隐式动画 15.4 显式动画 15.5 关键帧显式动画 15.6 UIView级别动画 15.1 动画介绍 ...

  6. IOS 动画专题 --iOS核心动画

    iOS开发系列--让你的应用“动”起来 --iOS核心动画 概览 通过核心动画创建基础动画.关键帧动画.动画组.转场动画,如何通过UIView的装饰方法对这些动画操作进行简化等.在今天的文章里您可以看 ...

  7. ios 学习动画的套路 (一)

    你也肯定喜欢炫酷的动画! 在APP中,动画就是一个点睛之笔!可以给用户增加一些独特的体验感,估计也有许多的和我一样的,看着那些觉得不错的动画,也就只能流口水的孩子,毕竟~不知道从哪里下手去写!会连续的 ...

  8. Bodymovin:Bodymovin和Lottie:把AE动画转换成HTML5/Android/iOS原生动画

    转自:https://www.cnblogs.com/zamhown/p/6688369.html 大杀器Bodymovin和Lottie:把AE动画转换成HTML5/Android/iOS原生动画 ...

  9. 大杀器Bodymovin和Lottie:把AE动画转换成HTML5/Android/iOS原生动画

    前段时间听部门老大说,Airbnb出了个移动端的动画库Lottie,可以和一个名叫Bodymovin的AE插件结合起来,把在AE上做好的动画导出为json文件,然后以Android/iOS原生动画的形 ...

随机推荐

  1. 「LINUX资料」Samba服务器(二)

  2. linux 目录定义

    /     根目录,存放系统命令和用户数据等(如果下面挂载点没有单独的分区,它们都将在根目录的分区中) /boot     boot loader 的静态链接文件,存放与Linux启动相关的程序/ho ...

  3. Struts2 之 对xwork的理解

    对象的生命周期的管理是面向对象编程亘古不变的话题,从syntax的角度,面向对象的高级编程语言都是以“对象”为核心,而对象之间的继承关系.嵌套引用关系构成的对象树结构为我们进行对象级别的逻辑操作提供了 ...

  4. 模板方法模式(Template Method Pattern)

    模板方法模式是一种基于继承的代码复用技术,定义一个操作中的算法的骨架,而将步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤. 模式中的角色 抽象类(Abstrac ...

  5. SDK Manager 中 没有 Support Library怎么弄?

    SDK Manager 中 没有 Support Library怎么弄?求大神帮忙 百度上面说的基本都试了,依旧没有弄出来 点击"Packages" > "Show ...

  6. Python-Mac 安装 PyQt4

    环境: 系统: OS X 10.11.4 Python: 2.7.10 1.安装 Qt brew install qt 测试安装结果,需要正确找到 qmake 的路径 qmake 2.安装 SIP 下 ...

  7. AT Tool --- android手机发送at指令

    之前网上也有一款类似的软件,估计是华为内部人员开发的,不过很变态,不但只支持华为的几款手机,而且只能发一条AT命令,然后就不让你发了:所以很气愤,今天花了一天时间自己写了这么款程序,而且是支持所有An ...

  8. Java--super关键字用法

    看了马老师的视频,百度了一下,随即敲了一些代码,super是超人,超级的意思,层面上理解为父类 class Person { Person(){             System.out.prin ...

  9. mybatis 使用记录(二) 动态拼接查询条件

    2016-12-16 阅读项目代码时,在项目的xml文件中发现如下写法: SELECT student_user_id FROM tbr_student_class WHERE 1=1 <if ...

  10. [2014.01.27]wfChart 统计图组件 5.6

    本组件支持多种样式图表,包括柱型图.横柱型图.曲线图.饼图.点图.区域图.     可选择的8大主题风格,且主题可再配置,在加快开发的同时又提供更好的图像效果.     组件图表提供两种输出接口,包括 ...