效果图
怎么实现
一种方案是,创建5个layer,按顺序播放y轴动画
第二种方案是,利用复制图层来实现
利用CAReplicatorLayer 实现
1、什么是CAReplicatorLayer?
一种可以复制自己子层的layer,并且复制出来的layer和原生子层有同样的属性,位置,形变,动画。
2、CAReplicatorLayer属性
instanceCount
: 子层总数(包括原生子层)instanceDelay
: 复制子层动画延迟时长instanceTransform
: 复制子层形变(不包括原生子层),每个复制子层都是相对上一个。instanceColor
: 子层颜色,会和原生子层背景色冲突,因此二者选其一设置。instanceRedOffset,instanceGreenOffset,instanceBlueOffse,instanceAlphaOffset
: 颜色通道偏移量,每个复制子层都是相对上一个的偏移量。
实现思路
1、首先创建好“复制图层”,和一个“音量振动条图层”,把“音量振动条图层”添加到 “复制图层”上
//CAReplicatorLayer: 复制图层,可以把图层里面的所有子层复制
CAReplicatorLayer * repL = [CAReplicatorLayer layer];
repL.frame = _DGPlayView.bounds;
[_DGPlayView.layer addSublayer:repL];