IOS7 动画之我见分享

最近,组内的 IOS 动画大神琨哥做了一次 IOS 动画分析,这里根据他的分析,整理了一些平时关注比较少,但对初学者有用的点。

自定义一个支持动画的属性

需要:

  1. 重写needsDisplayForKey:方法,支持对某个属性的改变,重绘图层。

  2. 重写drawInContext:实现重绘方法

  3. 注意需要的化,要修改modelLayer的相关属性,presentationLayer是只读的。

自定义一个动画系统

需要:

  1. 和一个时间函数绑定。可以使用CADisplayLink,依赖系统触发重绘。

动画的时间属性

  1. 每个CALayer均有一个时间的@interface CALayer : NSObject <NSCoding, CAMediaTiming>
    因此可以通过,修改该layer的时间属性speed, beginTime, timeOffsetduration,来暂停和改变动画状态。