CAShapeLayer
1、path
贝塞尔曲线和图层结合才能绘制出各种各样的图形。
注:当与贝塞尔曲线一起使用的时候,生成的曲线的位置是相对于生成的layer的,
所以当你利用贝塞尔曲线设置了path后,再设置layer的position和bounds
你会感觉很奇怪,最简单的方式就是单纯利用贝塞尔曲线决定图层的位置和大小)
2、fillColor 和 fillRule
fillColor即layer的path的填充颜色
fillRule属性指图层的填充规则
3、strokeColor
线颜色
4、strokeStart strokeEnd
两者的取值都是0~1,决定贝塞尔曲线的划线百分比,对应值的改变支持隐式动画
5、lineWidth
线宽
6、miterLimit
最大斜接长度,只有lineJoin属性为kCALineJoinMiter时miterLimit才有效,当衔接角度太小时,斜接长度就会很大,如果设置了 miterLimit并且当斜接长度大于这个值时,便会对应裁切掉多余区域
图1.png
设置miterLimit后:
图2.png
7、lineCap
线端点类型,也就是对应曲线结束的点的显示样式。
线端点类型.png
8、lineJoin
连接点类型,也就是对应曲线节点的位置的显示样式。
连接点类型.png
9、lineDashPattern
线设置,为一个数组,数组中奇数位实线长度,偶数位带遍空白长度(注意:这里的奇数,偶数以数组的第一个元素索引为1计算)
10、lineDashPhase
虚线开始的位置,可以使用此属性做一个滚动的虚线框。
CAGradientLayer
1、colors
在Layer中实现几种颜色并完成完美的过渡,和CAShapeLayer的path一样,colors是CAGradientLayer特殊属性的起点,也就是x 显示的要素
2、locations
颜色区间分布比例,默认为线性均匀分布。取值范围为0~1递增,一般来说其中的元素个数应与colors中的元素个数相同,不同时系统会自行处理分布规则。
设置 gradientLayer.locations = @[@(0.3),@(0.7)];
3、startPoint endPoint
startPoint决定了变色范围的起始点,endPoint决定了变色范围的结束点,两者的连线决定变色的趋势:
1.png
2.png
3.png
4.png
注意:locations是相对于startPoint和endPoint的变化范围而言的。