专用图层

iOS核心动画笔记6-专用图层

有些话、适合烂在心里 提交于 2019-12-03 16:40:28
专用图层 1. CAShapeLayer CAShapeLayer 是一个通过矢量图形而不是bitmap来绘制的图层子类. 可以指定绘制颜色, 线宽等属性, 用CGPath来定义想要绘制的图形, 最后CAShapeLayer就会自动渲染出来了. 相比使用 CoreAnimation直接在layer上绘制图形, CAShapeLayer有以下优势: 渲染快速. CAShapeLayer使用硬件加速, 绘制同一图形会比用CoreGraphics快很多. 高效使用内存. 一个CAShapeLayer不需要像普通CALayer一样创建一个寄宿图形, 所以无论有多大, 都不会占用太多的内存. 不会被图形边缘剪切掉. CAShapeLayer可以在边界之外绘制, 图层路径不会像使用CoreGraphics的普通CALayer一样被剪裁掉. 不会出现像素化. 当给CAShapeLayer做3D变换时候, 它不会像一个有寄宿图的普通图层一样变得像素画. 1.1 创建一个CGPath CAShapeLayer上绘制的形状可以通过CGPath来表示, CGPath对象可以直接创建, 更好的是通过UIBezierPath创建CGPath(这种方法不需要手动释放内存, 方便管理). 图层路径不一定是闭合的. 也可以是开放的. 1.2 创建圆角 前面提到创建圆角视图的方法,