swift 实现 iOS摇一摇
2024-08-30 10:35:09
本博客包含了如何实现iOS摇一摇全步骤,包括了完整的代码。
先附上demo地址https://github.com/Liuyubao/LYBShake ,支持swift3.0+。
一、导包
项目主要使用到了AVFoundation这个包。
二、继承代理,并实现协议方法
在要监听摇一摇的VC中继承AVAudioPlayerDelegate这个代理(为了播放音效),并实现以下3个代理方法。
开始摇动的代理方法:
取消摇动的代理方法(一般指的是中途摇动动作被打断):
结束摇动的代理方法:
三、逻辑实现
【在监听摇动的VC中开启摇动感应:】
/**
开启摇动感应
*/
UIApplication.shared.applicationSupportsShakeToEdit = true
【定义摇动手势的上下两部分图:】
@IBOutlet weak var upImg: UIImageView!
@IBOutlet weak var downImg: UIImageView!
【定义要播放的声音,分为摇动过程和摇动结束的声音:】
var player: AVAudioPlayer?
【摇动开始的逻辑:】
1、开始的动画:图片上下移动60;
2、设置开始摇动的音效;
3、结束动画:还原上下两张图片;
【摇动结束的逻辑:】
将所有摇动激发的事件都写在这里,包括音效及数据的更新。
四、github代码
如果本博客对您有帮助,希望可以得到您的赞赏!
完整代码附上:https://github.com/Liuyubao/LYBShake
最新文章
- Mac 配置 php-fpm 时出现'/private/etc/php-fpm.conf': No such file or directory (2)
- Google和Baidu常用的搜索技巧--转
- python FileError
- socket.io,环境搭建 &; Hello world
- Linux权限问题
- form提交数据中文乱码问题总结
- android CMWAP, CMNET有何差别
- 【Android进阶】Android面试题目整理与讲解(一)
- 计算机程序的思维逻辑 (73) - 并发容器 - 写时拷贝的List和Set
- 【国家集训队2010】小Z的袜子(莫队)
- pycharm 记录
- seafile ubuntu 安装相关
- VueJs(1)---快速上手VueJs
- js 乘除法小数问题
- 第一个dubbo程序
- Iterator,迭代器模式,C++描述
- FFT理解
- 20165326 学习基础和c语言基础调查
- Zookeeper简单初应用
- EditPlus 中文版停止更新
热门文章
- 读《深入理解Elasticsearch》点滴-查询二次评分
- 使用ImageIO.write上传二维码文件时候,提示系统找不到指定路径
- Java8新特性——接口默认方法
- Centos6 日常使用小结
- laravel 5.5 运行在 php7.0 报错 Symfony\Component\Translation\Translator.php FatalThrowableErrorParse error: syntax error, unexpected '?', expecting variable (T_VARIABLE)
- 在Mac上搭建带ssl协议和域名指向的Apache服务器
- C#的FTP服务器源代码
- 02-19 k近邻算法(鸢尾花分类)
- Java中获取刚插入数据库中的数据Id(主键,自动增长)
- Java微服务(二):负载均衡、序列化、熔断