CADisplayLink(逐帧动画)

作者: Small_Potato | 来源:发表于2016-04-06 14:37 被阅读565次

    iOS中的动画是一个很大的模块,不可能一下子介绍完,下面就来说说CADisplayLink,也就是逐镇动画.

    首先,什么是CADisplayLink?

    CADisplayLink是一个能让我们以和屏幕刷新频率相同的频率将内容绘到屏幕上的定时器.我们将CADisplayLink绑定到Runloop中,每当屏幕需要刷新(一般屏幕刷新为60帧/s)时候,就会调用CADisplayLink绑定的selector,这样我们就可以在selector中做一些事情来达到某些特定的效果.

她和NSTimer不同的地方有:

    1.原理不同

    就像上面说的那样,CADisplayLink以和屏幕刷新频率相同的频率将内容绘到屏幕上的定时器.我们将CADisplayLink绑定到Runloop中,每当屏幕结束刷新的时候,runloop就会向target发送制定的selector消息.

    NSTimer以制定的模式注册到runloop中后,每当到达设定的周期后,runloop就会向target发送制定的selector消息

    2.精确性不同

    CADisplayLink是以和屏幕相同的频率将内容绘到屏幕上,iOS设备的屏幕刷新频率是固定的60/s,在正常情况下CADisplayLink每次都会被调用.NSTimer在Runloop特别忙的情况下,就会推迟到下一周期,不过可以通过NSTimer的tolerance属性,设置可以容忍的触发的时间范围.

    注:CADisplayLink的频率不是固定的60/s(默认是60/s),受frameInterval属性的调控,如果frameInterval设置为2.则CADisplayLink的频率为60/2.

    形成逐帧可以用UIImageView的animationImages,不过一般不这么使用,因为这样一旦设置完animationImages后,中间的过程就无法控制了.如图1.1

1.1

    而是使用CADisplayLink,图1.2

1.2

    效果如下:

    点击下载demo  

相关文章

  • CADisplayLink(逐帧动画)

    iOS中的动画是一个很大的模块,不可能一下子介绍完,下面就来说说CADisplayLink,也就是逐镇动画. ...

  • iOS 利用CADisplayLink做逐帧动画

    CADisplayLink CADisplayLink是一个能让我们以和屏幕刷新率相同的频率将内容画到屏幕上的定时...

  • Android 动画总结

    Android 中的动画可以分为以下几类: 逐帧动画 补间动画 属性动画 一、逐帧动画 逐帧动画的原理就是让一系列...

  • 安卓动画

    Android 中的动画可以分为以下几类: 逐帧动画 补间动画 属性动画 1、逐帧动画 逐帧动画的原理就是让一系列...

  • Android动画

    文章脑图 1、Android动画种类 逐帧动画、补间动画、属性动画 逐帧动画 逐帧动画的原理就是让一系列的静态图片...

  • Android 动画

    Android中动画分为三种: 逐帧动画 补间动画 属性动画 逐帧动画 逐帧动画类似于gif或是电影的原理,通过将...

  • Android动画之逐帧动画FrameAnimation

    1 逐帧动画介绍 视图动画由两部分组成,补间动画和逐帧动画,前面文章已经讲解了补间动画,下面讲解逐帧动画。Fram...

  • Android 动画机制(一)

    逐帧动画(Frame Animation) 逐帧动画也叫Drawable Animation,是最简单最直...

  • Android 动画锦集

    Android 动画可分为逐帧动画、补间动画、属性动画。使用传统的逐帧动画、补间动画可以实现 Android 基本...

  • 三、Android 动画机制

    A、逐帧动画(Frame Animation) 逐帧动画也叫Drawable Animation,最直观最简单的动...

网友评论

本文标题:CADisplayLink(逐帧动画)

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