加速计

加速计的作用

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

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);

posted @ 2016-04-24 20:21  小眼奇遇记  阅读(216)  评论(0编辑  收藏  举报