博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS动画之模拟音量振动条
阅读量:5861 次
发布时间:2019-06-19

本文共 1441 字,大约阅读时间需要 4 分钟。

音量振动条

效果图:

这里写图片描写叙述

假设实现?

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

Demo实例

转载于:https://www.cnblogs.com/yutingliuyl/p/7007759.html

你可能感兴趣的文章
crond定时任务详细介绍
查看>>
web ssh方案Gateone
查看>>
HTML5教程:1.2 HTML 5会深受欢迎的理由
查看>>
PostgreSQL 约束延迟生效(deferrable)
查看>>
Laravel 应用性能调优
查看>>
我的友情链接
查看>>
Linux mail 命令
查看>>
SublimeText Markdown Edit
查看>>
etcd选举机制
查看>>
httpd安全控制
查看>>
html解析
查看>>
LNMMP架构实现Web动静分离
查看>>
RHEL6.8编译安装LAMP环境:httpd-2.4+mysql5.6+php5.5;基于LAMP环境部署WordPress
查看>>
1.2.1 标示符
查看>>
Kebernetes 学习总结(13) K8s 资源监控
查看>>
java如何备份/还原mysql
查看>>
NO.168 如何做禅道二次开发(4):如何登记菜单
查看>>
ios实现城市选择功能(searchBar和tableView)
查看>>
javaBean
查看>>
U盘防病毒的技巧
查看>>