下载APP 随时随地学编程
返回 首页

ios核心动画高级技巧

开始阅读
目录
介绍

1. 图层树

1.1 图层与视图
1.2 图层的能力
1.3 使用图层
1.4 总结

2. 寄宿图

2.1 contents属性
2.2 Custom Drawing
2.3 总结

3. 图层几何学

3.1 布局
3.2 锚点
3.3 坐标系
3.4 Hit Testing
3.5 自动布局
3.6 总结

4. 视觉效果

4.1 圆角
4.2 图层边框
4.3 阴影
4.4 图层蒙板
4.5 拉伸过滤
4.6 组透明
4.7 总结

5. 变换

5.1 仿射变换
5.2 3D变换
5.3 固体对象
5.4 总结

6. 专用图层

6.1 CAShapeLayer
6.2 CATextLayer
6.3 CATransformLayer
6.4 CAGradientLayer
6.5 CAReplicatorLayer
6.6 CAScrollLayer
6.7 CATiledLayer
6.8 CAEmitterLayer
6.9 CAEAGLLayer
6.10 AVPlayerLayer
6.11 总结

7. 隐式动画

7.1 事务
7.2 完成块
7.3 图层行为
7.4 呈现与模型
7.5 总结

8. 显式动画

8.1 属性动画
8.2 动画组
8.3 过渡
8.4 在动画过程中取消动画
8.5 总结

9. 图层时间

9.1 CAMediaTiming协议
9.2 层级关系时间
9.3 手动动画
9.4 总结

10. 缓冲

10.1 动画速度
10.2 自定义缓冲函数
10.3 总结

11. 基于定时器的动画

11.1 定时帧
11.2 物理模拟

12. 性能调优

12.1. CPU VS GPU
12.2 测量,而不是猜测
12.4 总结

13. 高效绘图

13.1 软件绘图
13.2 矢量图形
13.3 脏矩形
13.4 异步绘制
13.5 总结

14. 图像IO

14.1 加载和潜伏
14.2 缓存
14.3 文件格式
14.4 总结

15. 图层性能

15.1 隐式绘制
15.2 离屏渲染
15.3 混合和过度绘制
15.4 减少图层数量
15.5 总结

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }