IOS7 动画之我见分享
最近,组内的 IOS 动画大神琨哥做了一次 IOS 动画分析,这里根据他的分析,整理了一些平时关注比较少,但对初学者有用的点。
自定义一个支持动画的属性
需要:
重写
needsDisplayForKey:
方法,支持对某个属性的改变,重绘图层。重写
drawInContext:
实现重绘方法注意需要的化,要修改modelLayer的相关属性,presentationLayer是只读的。
自定义一个动画系统
需要:
- 和一个时间函数绑定。可以使用CADisplayLink,依赖系统触发重绘。
动画的时间属性
- 每个CALayer均有一个时间的
@interface CALayer : NSObject <NSCoding, CAMediaTiming>
因此可以通过,修改该layer的时间属性speed
,beginTime
,timeOffset
,duration
,来暂停和改变动画状态。