.h文件

@interface ShakeViewController : UIViewController<UIAccelerometerDelegate>
{UIAccelerationValue    myAccelerometer[3];//是否响应摇一摇的标志BOOL  _canShake;}

.m文件中

#define kFilteringFactor                0.1
#define kEraseAccelerationThreshold        2.0@implementation ShakeViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];if (self) {_canShake = YES;}return self;
}- (void)dealloc
{[UIAccelerometer sharedAccelerometer].delegate = nil;[super dealloc];
}- (void)viewDidLoad
{[super viewDidLoad];[UIAccelerometer sharedAccelerometer].delegate = self;[UIAccelerometer sharedAccelerometer].updateInterval = 1.0f/40.0f;
}#pragma mark - UIAccelerometerDelegate
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
UIAccelerationValue  length, x, y, z;if (!_canShake){return;}//Use a basic high-pass filter to remove the influence of the gravitymyAccelerometer[0] = acceleration.x * kFilteringFactor + myAccelerometer[0] * (1.0 - kFilteringFactor);myAccelerometer[1] = acceleration.y * kFilteringFactor + myAccelerometer[1] * (1.0 - kFilteringFactor);myAccelerometer[2] = acceleration.z * kFilteringFactor + myAccelerometer[2] * (1.0 - kFilteringFactor);// Compute values for the three axes of the acceleromaterx = acceleration.x - myAccelerometer[0];y = acceleration.y - myAccelerometer[0];z = acceleration.z - myAccelerometer[0];//Compute the intensity of the current accelerationlength = sqrt(x * x + y * y + z * z);// If above a given threshold, play the erase sounds and erase the drawing viewif(length >= kEraseAccelerationThreshold){//是否响应摇一摇的标志_canShake = NO;[self shakeEvent];}
}

IOS实现摇一摇源代码相关推荐

  1. IOS开发基础之摇奖机案例

    IOS开发基础之摇奖机案例 // ViewController.m // 33-摇奖机器 // Created by 鲁军 on 2021/3/9. #import "ViewControl ...

  2. bugku 管理员系统 后台代码_不会吧,这也行?iOS后台锁屏监听摇一摇

    [toc] 背景介绍 一般情况下,出于省电.权限.合理性等因素考虑,给人的感觉是很多奇怪的需求安卓可以实现,但是iOS就无法实现!今天要介绍的需求也有这种感觉,就是"当 APP 处于后台或锁 ...

  3. 微信摇一摇插件ios_微信密友插件ios下载-微信密友ios插件下载6.6.6最新版-西西软件下载...

    微信密友ios插件是一款功能强大的苹果版微信密友隐藏软件,该插件支持微信密友隐藏.后台消息推送.群红包自动抢.运动步数修改等功能,功能强大,界面清爽,欢迎下载体验! 微信密友ios插件介绍: 1.Cy ...

  4. iOS中的传感器---摇一摇, 计步器,距离感应,陀螺仪

    前几天项目中用到了一下CoreMotion框架,觉得iOS中的传感器还是挺好玩的,又花了点时间去了解了一下iOS中其他一些常用的传感器应用,今天简单做下总结. iOS中的传感器大致有以下几种: 运动传 ...

  5. 微信摇一摇插件ios_苹果ios微信摇一摇代码实现

    [实例简介] 该文档是苹果ios微信的摇一摇代码实现,希望有帮助 [实例截图] [核心代码] ShakeYiShakeHa ├── __MACOSX │   └── ShakeYiShakeHa │  ...

  6. 关于ios最新系统[我是ios13.3]开发摇一摇的时候无法触发devicemotion的原因

    关于ios最新系统[我是ios13.3]开发摇一摇的时候无法触发devicemotion的原因 允许摇一摇代码 具体原因 如果你只是想实现摇一摇,可以直接点击目录到你对应想找的地方~ 最近公司年会需要 ...

  7. 微信墙php摇一摇无声音,IOS微信摇一摇声音无法播放的解决办法

    在IOS中第一次调用play方法播放音频会被阻止,必须得等用户有交互动作,比如touchstart,click后才能正常调用,所以可以在摇一摇之前提醒用户点击一下开始游戏的按钮或者给用户一个弹窗,用户 ...

  8. IOS系统中H5页面实现摇一摇功能

    公司准备开年会了,年会活动用了一套别人的系统,根据测试,有些游戏的摇一摇功能在IOS上无法使用,为了修复该功能,踩了一些坑,特此记录如下: 1. 因为IOS系统的安全要求,项目必须是在https的域名 ...

  9. H5解决IOS端无法使用摇一摇功能,解决监听devicemotion失效问题

    IOS端无法使用摇一摇功能,主要方法是对devicemotion的监听,devicemotion如果不清楚是做什么的,可以找下度娘. DeviceMotion 到底是何物? 在 window 对象中存 ...

最新文章

  1. 知乎好物推荐玩法介绍
  2. Android Apt失效:找不到Apt生成的对应类
  3. CCNA重点难点:思科交换机生成树配置
  4. mac下npm/node的安装和卸载、升级;node、npm升级后最后删掉node_modules重新安装
  5. 如何使用Spring优雅地处理REST异常
  6. mybatis 详解(三)------入门实例(基于注解)
  7. 计算机msoffice怎么复习,全国计算机一级MSoffice怎样复习我在 – 手机爱问
  8. python截取某一段文字分栏_Python文本数据互相转换(pandas and win32com)
  9. 20200102每日一句
  10. linux 配置java环境变量_linux配置java环境变量(详细)
  11. Phaser2.0 tween动画
  12. Win7任务管理器显示不全问题解决办法
  13. 手机怎么解除root权限?华为手机root教程
  14. 3、按键扫描检测处理
  15. 美团外卖前端实习生面试总结
  16. 2022年测绘资质怎么办理及办理流程?
  17. 转游戏中找CALL的万能方法
  18. Unity开发日记【第七天】——怪物的移动和动画及类的实现
  19. Android RecyclerView 使用方法:垂直、横向、瀑布流
  20. CANoe-CAPL接收CAN消息

热门文章

  1. Kubernetes容器云平台技术方案
  2. 前同事被裁员,股票清零!
  3. 如何下载广东省卫星地图高清版大图
  4. The annotation of C++ primer {藤原豆腐坊自家用}
  5. Lumen超全功能知识点来了,ue5初学者们必看
  6. Linux/Unix 设计思想概述
  7. HBuilder 使用教程
  8. SKCTF Writeup
  9. 安全算力护航数字中国|知道创宇亮相CNCERT中国网络安全年会
  10. Docker Linux下安装配置及启动