在iOS里面单独的波浪线使用CAShapeLayer设置strokeColor,创建CGMutablePathRef使用正弦函数sin获取y值,连接成点CGPathAddLineToPoint得到一条曲线,然后赋值给图层 self.waveLayer.path = path即可。但是这样没有渐变。
在iOS里面单独的渐变使用CAGradientLayer,设置colors,设置locations可以生成渐变的矩形,但不是线,不能动。
而且上面两者无法结合在一起。CAGradientLayer没有strokeColor,CAShapeLayer没有colors。
如何实现呢?可以实现的思路是使用layer.mask
这个mask可以控制显示的区域,mask也是layer类型,放一张png格式的渐变图,mask透明并且正弦函数移动,显示的效果就是带渐变的波浪线。
具体代码可以参考这个实现https://www.jianshu.com/p/b032844f5462?utm_campaign=maleskine...&utm_content=note&utm_medium=seo_notes