基于iOS实现音乐震动条效果
发布时间 - 2026-01-11 02:27:45 点击率:次一、简单分析

音乐震动条不需要与用户交互。我们可以使用复制层来操作。添加震动条。添加动画。
复制层说明
//创建复制层
-(void)createRepl{
//复制层
CAReplicatorLayer * repL = [CAReplicatorLayer layer];
repL.frame = self.contentV.bounds;
//复制6份
repL.instanceCount = 6;
//形变,每一个形变都是相对于上一个复制出来的子层开始的
repL.instanceTransform = CATransform3DMakeTranslation(45, 0, 0);
//动画延时执行
repL.instanceDelay = 0.5;
///要设置复制层的颜色 原始层的颜色要设为白色.
repL.instanceColor = [UIColor redColor].CGColor;
[self.contentV.layer addSublayer:repL];
self.repL = repL;
}
二、代码
//
// ViewController.m
// 03_UIView75_音乐震动条
//
// Created by 杞文明 on 17/7/21.
// Copyright © 2017年 杞文明. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UIView *contentV;
@property (weak,nonatomic) CAReplicatorLayer * repL;
@property (weak,nonatomic) CALayer * layer;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
//1.创建复制层次
[self createRepl];
//2.添加音量震动条
[self addVoiceBar];
//3.添加动画
[self addAnimation];
}
//创建复制层
-(void)createRepl{
//复制层
CAReplicatorLayer * repL = [CAReplicatorLayer layer];
repL.frame = self.contentV.bounds;
//复制6份
repL.instanceCount = 6;
//形变,每一个形变都是相对于上一个复制出来的子层开始的
repL.instanceTransform = CATransform3DMakeTranslation(45, 0, 0);
//动画延时执行
repL.instanceDelay = 0.5;
///要设置复制层的颜色 原始层的颜色要设为白色.
repL.instanceColor = [UIColor redColor].CGColor;
[self.contentV.layer addSublayer:repL];
self.repL = repL;
}
//添加音量震动条
-(void)addVoiceBar{
CALayer * layer = [CALayer layer];
layer.frame = CGRectMake(0, self.contentV.bounds.size.height-150, 30, 150);
layer.backgroundColor = [UIColor whiteColor].CGColor;
layer.position = CGPointMake(0, self.contentV.bounds.size.height);
layer.anchorPoint = CGPointMake(0, 1);
[self.repL addSublayer:layer];
self.layer = layer;
}
//添加动画
-(void)addAnimation{
//添加动画 对y方向缩放
CABasicAnimation * anim = [CABasicAnimation animation];
//设置属性
anim.keyPath = @"transform.scale.y";
anim.toValue = @0;
anim.repeatCount = MAXFLOAT;
anim.autoreverses = YES;
anim.duration = 0.5;
[self.layer addAnimation:anim forKey:nil];
}
@end
三、图示
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# iOS
# 音乐
# 震动条
# iOS中关于Taptic-Engine震动反馈的深入解析
# IOS开发实现手机震动的提示实例代码
# iOS仿微信摇一摇动画效果加震动音效实例
# iOS中震动反馈(UIFeedbackGenerator)与系统震动详解
# 都是
# 设为
# 相对于
# 不需要
# 可以使用
# 大家多多
# reserved
# import
# ViewController
# addSublayer
# CGColor
# instanceColor
# Created
# redColor
# UIColor
# Copyright
# copy
# 文明
# rights
# createRepl
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么清理缓存_Laravel optimize clear命令详解
如何在云主机上快速搭建多站点网站?
深圳网站制作的公司有哪些,dido官方网站?
如何在IIS中配置站点IP、端口及主机头?
如何为不同团队 ID 动态生成多个“认领值班”按钮
,网页ppt怎么弄成自己的ppt?
如何快速生成专业多端适配建站电话?
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
如何获取上海专业网站定制建站电话?
制作旅游网站html,怎样注册旅游网站?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南
如何用虚拟主机快速搭建网站?详细步骤解析
音响网站制作视频教程,隆霸音响官方网站?
如何将凡科建站内容保存为本地文件?
Laravel如何实现一对一模型关联?(Eloquent示例)
如何在建站主机中优化服务器配置?
HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
iOS验证手机号的正则表达式
Laravel如何使用.env文件管理环境变量?(最佳实践)
Laravel中间件如何使用_Laravel自定义中间件实现权限控制
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
如何用VPS主机快速搭建个人网站?
Laravel Docker环境搭建教程_Laravel Sail使用指南
如何选择PHP开源工具快速搭建网站?
详解CentOS6.5 安装 MySQL5.1.71的方法
如何在Ubuntu系统下快速搭建WordPress个人网站?
如何用JavaScript实现文本编辑器_光标和选区怎么处理
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
JS碰撞运动实现方法详解
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
香港服务器租用每月最低只需15元?
网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
如何用搬瓦工VPS快速搭建个人网站?
香港服务器选型指南:免备案配置与高效建站方案解析
韩国服务器如何优化跨境访问实现高效连接?
浅谈javascript alert和confirm的美化
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
如何用wdcp快速搭建高效网站?
如何在IIS管理器中快速创建并配置网站?
Laravel如何实现URL美化Slug功能_Laravel使用eloquent-sluggable生成别名【方法】
如何快速登录WAP自助建站平台?
Laravel中的withCount方法怎么高效统计关联模型数量
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)

