简介
CAShapeLayer
能够在当前自己所在的坐标空间内绘制贝塞尔曲线,CAShapeLayer
由它的图层的内容以及它的第一个子图层复合而成。形状会在光栅化独立分解之前,高保真的显示在屏幕上。但是,如果对图片图层或者是它的原型执行CoreImage
滤镜操作的时候,就会导致图片失真。
定义shape形状路径
@property CGPathRef path
不像其他的动画属性,该属性不支持动画,但是路径对象可以通过任何CAPropertyAnimation
实际子类来实现动画。
fillColor
该属性用来动态的设置shape
路径的填充颜色
lineCap
用来定义线段端点的类型。而线段端点主要有下面几种形式,而默认的是kCALineCapButt
式样。
lineJoin
这个属性用来定义线段的连接点的样式,且默认是kCALineJoinMiter
.
lineWidth
表示形状路径的线宽。可动画。
@property CGColorRef strokeColor
用来设置形状的线的颜色,可动画。如果设置为nil
就表示没有颜色。
@property CGFloat strokeStart
设置形状路径开始的起始点,可动画
结合strokeEnd
属性可以设置需要路径的其中一部分。这个属性定义了相对于整个路径上的某个点开始绘制线段,而strokeEnd
就表示结束点。0表示的是路径的起始点,而1表示的是线段路径的结束点,而在这之间1> x > 0
的值则跟路径的整体长度之间有一个线性的关系存在。
注意:和贝塞尔曲线一起使用可以实现一些进度条等的动画效果。
后面会继续学习,希望能上传一些代码到github上面,加油