【CALayer-时钟练习-CADisplayLink Objective-C语言】
一、我们接着来看,这个CADisplayLink啊,
1.刚才我们说那个时间呢,差上1秒钟的样子,然后呢,我们现在呢,用这个叫做CADisplayLink的东西,来解决,用这个类,来解决啊,
我们说,NSTimer,是跑到这儿了以后,一秒钟以后,
它才会执行,这个timeChange方法,真正的时间,不知道到底是多少,
所以呢,我们现在呢,解决办法,是什么,思路,是这个样子的,就相当于是,我现在,这个方法啊,我1秒钟调用一次,
如果我现在,1毫秒调用一次,那么这个时间,肯定,我一直是实时获取的,那么,肯定跟你这个时间,是一致的,
那我每一毫秒,都去取你这个时间,所以呢,它肯定是,没问题的,这是最笨的方法啊,
2.接下来,我们来说这个CADisplayLink,
它呢,也是一种计时器,
CADisplayLink,是一种以屏幕刷新频率触发的时钟机制,
也就是说,屏幕每刷新一次,它就调一次,
每秒钟大约执行60次左右,
它呢,是CADisplayLink,是屏幕刷新的时候,会去调用,
我们说,我们这个屏幕,你看起来,好像,鼠标从这儿移动到这儿,屏幕是一直都在刷新的,屏幕它是有刷新的,如果你快速的移动鼠标,它看起来好像在这儿一下、在这儿一下、在这儿一下、移动的很快,实际上,屏幕它是有刷新的,
就跟用手机尝试着去拍比较老的电视,电视会出现很多很色的波纹,这个是为什么,是因为你相机的刷新频率,跟你的电视的刷新频率,是不一样的,所以会造成这么样的一个情况,
屏幕实际上,是都在刷新的啊,
现在你用iPhone,去拍笔记本的屏幕,应该不会出现这个效果了,因为笔记本的刷新频率,和,iPhone的刷新频率,应该都是1秒钟60次左右,
现在的设备,基本上看不到了啊,
3.然后呢,CADisplayLink,它也是一种计时器,
它呢,可以使绘图代码,与,视图的刷新频率,保持一致,
而NSTimer,是无法保证计时器触发的准确的时间,
好,我们这个就相当于什么,相当于是把这个精度,给它缩小了一点儿,好,我们1秒钟调60次,这个方法
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1716195.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!