加速计

加速计的作用

  • 用于检测设备的运动(比如摇晃)
  • 摇一摇
  • 计步器

UIAccelerometer的使用步骤

  • 获得单例对象

UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];

 

  • 设置代理

accelerometer.delegate = self;

 

  • 设置采样间隔

accelerometer.updateInterval = 1.0/30.0; // 1秒钟采样30次

 

  • 实现代理方法

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration

// acceleration中的x、y、z三个属性分别代表每个轴上的加速度

 

Core Motion的使用步骤(push)

  • 创建运动管理者对象

CMMotionManager *mgr = [[CMMotionManager alloc] init];

 

  • 判断加速计是否可用(最好判断)

if (mgr.isAccelerometerAvailable) {

    // 加速计可用

}

 

  • 设置采样间隔

mgr.accelerometerUpdateInterval = 1.0/30.0; // 1秒钟采样30次

 

  • 开始采样(采样到数据就会调用handler,handler会在queue中执行)

- (void)startAccelerometerUpdatesToQueue:(NSOperationQueue *)queue withHandler:(CMAccelerometerHandler)handler;

 

Core Motion的使用步骤(pull)

  • 创建运动管理者对象

CMMotionManager *mgr = [[CMMotionManager alloc] init];

 

  • 判断加速计是否可用(最好判断)

if (mgr.isAccelerometerAvailable) { // 加速计可用 }

 

  • 开始采样

- (void)startAccelerometerUpdates;

 

  • 在需要的时候采集加速度数据

CMAcceleration acc = mgr.accelerometerData.acceleration;

NSLog(@"%f, %f, %f", acc.x, acc.y, acc.z);

转载于:https://www.cnblogs.com/ritian/p/5428056.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值