利用iOS动画来模拟音量振动条的实现

2020-01-14 14:58:37王旭

 

本篇文章主要利用iOS动画来模拟音量振动条的实现以及对CAReplicatorLayer的简单介绍,需要的朋友可以参考下  

iOS动画来模拟音量振动条,即利用CAReplicatorLayer实现,以下将详细的介绍CAReplicatorLayer和实现方法。

音量振动条

效果图:

利用iOS动画来模拟音量振动条的实现

如何实现?

创建3个layer,按顺序播放y轴缩放动画

利用CAReplicatorLayer实现

1、什么是CAReplicatorLayer?

一种可以复制自己子层的layer,并且复制出来的layer和原生子层有同样的属性,位置,形变,动画。

2、CAReplicatorLayer属性

  • instanceCount: 子层总数(包括原生子层)
  • instanceDelay: 复制子层动画延迟时长
  • instanceTransform: 复制子层形变(不包括原生子层),每个复制子层都是相对上一个。
  • instanceColor: 子层颜色,会和原生子层背景色冲突,因此二者选其一设置。
  • instanceRedOffset、instanceGreenOffset、instanceBlueOffset、instanceAlphaOffset: 颜色通道偏移量,每个复制子层都是相对上一个的偏移量。
  • 如果利用CAReplicatorLayer实现

    1.首先创建复制layer,音乐振动条layer添加到复制layer上,然后复制子层就好了。

     

    
    CAReplicatorLayer *layer = [CAReplicatorLayer layer];
    
     layer.frame = CGRectMake(50, 50, 200, 200);
    
     layer.backgroundColor = [UIColor lightGrayColor].CGColor;
    
     [self.view.layer addSublayer:layer];