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并且当斜接长度大于这个值时,便会对应裁切掉多余区域
文章图片
图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 【CAShapeLayer与CAGradientLayer】startPoint决定了变色范围的起始点,endPoint决定了变色范围的结束点,两者的连线决定变色的趋势:
文章图片
1.png
文章图片
2.png
文章图片
3.png
文章图片
4.png 注意:locations是相对于startPoint和endPoint的变化范围而言的。
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- Docker应用:容器间通信与Mariadb数据库主从复制
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 第326天
- Shell-Bash变量与运算符
- 逻辑回归的理解与python示例
- Guava|Guava RateLimiter与限流算法
- 我和你之前距离
- CGI,FastCGI,PHP-CGI与PHP-FPM
- 原生家庭之痛与超越