CAShapeLayer与CAGradientLayer

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并且当斜接长度大于这个值时,便会对应裁切掉多余区域

CAShapeLayer与CAGradientLayer_第1张图片
图1.png

设置miterLimit后:

CAShapeLayer与CAGradientLayer_第2张图片
图2.png
7、lineCap

线端点类型,也就是对应曲线结束的点的显示样式。

CAShapeLayer与CAGradientLayer_第3张图片
线端点类型.png
8、lineJoin

连接点类型,也就是对应曲线节点的位置的显示样式。

CAShapeLayer与CAGradientLayer_第4张图片
连接点类型.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决定了变色范围的结束点,两者的连线决定变色的趋势:

CAShapeLayer与CAGradientLayer_第5张图片
1.png
CAShapeLayer与CAGradientLayer_第6张图片
2.png
CAShapeLayer与CAGradientLayer_第7张图片
3.png
CAShapeLayer与CAGradientLayer_第8张图片
4.png

注意:locations是相对于startPoint和endPoint的变化范围而言的。

你可能感兴趣的:(CAShapeLayer与CAGradientLayer)