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

所属分类: 软件编程 / IOS 阅读数: 513
收藏 0 赞 0 分享

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

音量振动条

效果图:

这里写图片描述

如何实现?

创建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];

2.先创建一个音量振动条,并且设置好动画,动画是绕着底部缩放,设置锚点

 CALayer *bar = [CALayer layer];

 bar.backgroundColor = [UIColor redColor].CGColor;

 bar.bounds = CGRectMake(0, 0, 30, 100);

 bar.position = CGPointMake(15, 200);

 bar.anchorPoint = CGPointMake(0.5, 1);

 [layer addSublayer:bar];

 CABasicAnimation *anim = [CABasicAnimation animation];

 anim.keyPath = @"transform.scale.y";

 anim.toValue = @(0.1);

 anim.autoreverses = YES;

 anim.repeatCount = MAXFLOAT;

 [bar addAnimation:anim forKey:nil];

3.复制子层

// 设置4个子层,3个复制层
 layer.instanceCount = 4;

 // 设置复制子层的相对位置,每个x轴相差40
 layer.instanceTransform = CATransform3DMakeTranslation(40, 0, 0);

 // 设置复制子层的延迟动画时长
 layer.instanceDelay = 0.3;

通过以上对CAReplicatorLayer的介绍以及利用CAReplicatorLayer来实现模拟音量振动条的实例的演示,希望对大家有所帮助。

更多精彩内容其他人还在看

iOS 仿百度外卖-首页重力感应的实例

这篇文章主要介绍了iOS 仿百度外卖-首页重力感应的实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
收藏 0 赞 0 分享

iOS实现时间显示几分钟前,几小时前以及刚刚的方法示例

这篇文章主要介绍了如何利用iOS实现时间显示是在几小时前,几分钟前以及刚刚的格式,类似大家在qq空间和朋友圈微博看到的效果,文中给出了详细的示例代码,有需要的朋友们可以参考借鉴,下面来一起学习学习吧。
收藏 0 赞 0 分享

iOS 条码及二维码扫描(从相册中读取条形码/二维码)及扫码过程中遇到的坑

本文主要给大家介绍ios中从手机相册中读取条形码和二维码的问题及解决办法,需要的朋友参考下
收藏 0 赞 0 分享

IOS Cache设计详细介绍及简单示例

这篇文章主要介绍了IOS Cache设计详细介绍及简单示例的相关资料,Cache的目的是为了追求更高的速度体验,Cache的源头是两种数据读取方式在成本和性能上的差异,需要的朋友可以参考下
收藏 0 赞 0 分享

iOS本地动态生成验证码的方法

这篇文章主要介绍了iOS本地动态生成验证码的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

iOS绘制3D饼图的实现方法

饼图常用于统计学模块。常见的一般为2D饼图,这篇文章主要介绍了iOS绘制3D饼图的实现方法,3D饼图更加立体,用户的好感度也比较高,下面需要的朋友可以参考借鉴,一起来看看吧。
收藏 0 赞 0 分享

谈谈iOS开发之JSON格式数据的生成与解析

JSON格式取代了xml给网络传输带来了很大的便利,本篇文章主要介绍了iOS开发:对象直接转化成JSON详解,具有一定的参考价值,有兴趣的可以了解一下。
收藏 0 赞 0 分享

IOS 身份证校验详细介绍及示例代码

这篇文章主要介绍了IOS 身份证校验详细介绍及示例代码的相关资料,这里对身份校验比较详细,附有简单实例,需要的朋友可以参考下
收藏 0 赞 0 分享

IOS 自定义UICollectionView的头视图或者尾视图UICollectionReusableView

这篇文章主要介绍了IOS 自定义UICollectionView的头视图或者尾视图UICollectionReusableView的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

IOS 仿支付宝支付屏幕亮度变化机制

这篇文章主要介绍了IOS 仿支付宝支付屏幕亮度变化机制的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多