1.代理设置需要在addAnimation之前,否则无效(CAAnimationGroup) 2.CAAnimation添加到Layer之后,Layer持有的动画,和最初配置生成的CAAnimation不是同一个,需要如果需要进行判断,需要添加到Layer之后通过Key重新获取Layer持有的动画 ...
分类:
其他好文 时间:
2020-01-03 12:43:47
阅读次数:
106
一、转场动画简单介绍 CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点 UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果 属性解析: type:动画过 ...
分类:
移动开发 时间:
2019-02-05 20:51:24
阅读次数:
194
1.Observer事件,runloop中状态变化时进行通知。(微信卡顿监控就是利用这个事件通知来记录下最近一次main runloop活动时间,在另一个check线程中用定时器检测当前时间距离最后一次活动时间过久来判断在主线程中的处理逻辑耗时和卡主线程)。这里还需要特别注意,CAAnimation ...
分类:
其他好文 时间:
2018-04-18 15:18:16
阅读次数:
164
背景介绍:beginTime、timeOffset属性来自CAMediaTiming,一个处理时间的协议,被CALayer和CAAnimation实现。 它们的官方注释: 通过注释我们知道: 1.beginTime是相对于父对象的时间(也就是说是个相对值?) 2. t = (tp - begin) ...
分类:
其他好文 时间:
2018-04-05 16:27:09
阅读次数:
279
前言 关于 "CAAnimation" 和 "CALayer" 类,核心动画扩展了NSKeyValueCoding协议。这个扩展为一些keys添加了默认值,扩大了封装协议,添加了为CGpoint、CGRect、CGSize和 "CATransform3D" 类型的支持。 ...
分类:
其他好文 时间:
2018-02-08 20:11:01
阅读次数:
284
前言 核心动画使用action对象实现它的可视化动画。一个action对象是指遵循 "CAAction" 协议并定义了Layer相关的动画行为的对象。所有的CAAnimation对象实现了这个协议,无论何时Layer的属性发生变化的时候就会执行对应的action对象(包含CAAnimation对象) ...
分类:
其他好文 时间:
2018-02-07 20:01:06
阅读次数:
171
定时帧 动画看起来是用来显示一段连续的运动过程,但实际上当在固定位置上展示像素的时候并不能做到这一点。一般来说这种显示都无法做到连续的移动,能做的仅仅是足够快地展示一系列静态图片,只是看起来像是做了运动。 我们之前提到过iOS按照每秒60次刷新屏幕,然后CAAnimation计算出需要展示的新的帧, ...
分类:
其他好文 时间:
2017-10-05 13:05:12
阅读次数:
248
#CAMediaTiming`协议 CAMediaTiming协议定义了在一段动画内用来控制逝去时间的属性的集合,CALayer和CAAnimation都实现了这个协议,所以时间可以被任意基于一个图层或者一段动画的类控制。 持续和重复 我们在第八章“显式动画”中简单提到过duration(CAMed ...
分类:
其他好文 时间:
2017-10-04 23:54:13
阅读次数:
292
属性动画 CAAnimationDelegate在任何头文件中都找不到,但是可以在CAAnimation头文件或者苹果开发者文档中找到相关函数。在这个例子中,我们用-animationDidStop:finished:方法在动画结束之后来更新图层的backgroundColor。 当更新属性的时候, ...
分类:
其他好文 时间:
2017-10-04 16:41:15
阅读次数:
239
动画组 CABasicAnimation和CAKeyframeAnimation仅仅作用于单独的属性,而CAAnimationGroup可以把这些动画组合在一起。CAAnimationGroup是另一个继承于CAAnimation的子类,它添加了一个animations数组的属性,用来组合别的动画。 ...
分类:
其他好文 时间:
2017-10-04 16:41:06
阅读次数:
142