美文网首页
iOS加速计的简单使用

iOS加速计的简单使用

作者: Young_Blood | 来源:发表于2016-06-17 13:26 被阅读384次
导入头文件
#import "ViewController.h"
#import <CoreMotion/CoreMotion.h>

@interface ViewController ()

/** 运动管理者对象 */
@property (nonatomic, strong) CMMotionManager *mgr;
@end
  • iOS4之前
- (void)viewDidLoad {
    [super viewDidLoad];

    // 1.获取单例对象
    UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];

    // 2.设置代理(在代理方法中拿到对应的数值)
    accelerometer.delegate = self;

    // 3.设置采样间隔(多久采集一次信息)
    accelerometer.updateInterval = 1.0;
}

// 代理方法
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
{
    NSLog(@"x:%f y:%f z:%f", acceleration.x, acceleration.y, acceleration.z);
}
  • iOS5之后分成两种
push

push方式:实时采集所有数据(采集频率高)
创建运动管理者对象
判断加速计是否可用
设置采样间隔
开始采集数据

 // push方式
    // 1.判断加速计是否可用
    if (!self.mgr.isAccelerometerAvailable) {
        NSLog(@"加速计不可用");
        return;
    }

    // 2.设置采样间隔
    self.mgr.accelerometerUpdateInterval = 1.0;

    // 3.开始采样
    [self.mgr startAccelerometerUpdatesToQueue:[NSOperationQueue mainQueue] withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
        if (error) return;

        // 获取加速计的信息
        CMAcceleration acceleration = accelerometerData.acceleration;
        NSLog(@"x:%f y:%f z:%f", acceleration.x, acceleration.y, acceleration.z);
    }];
pull

pull方式:在有需要的时候,再主动去采集数据
创建运动管理者对象
判断加速计是否可用
开始采样
需要时通过运动管理者去获取数据

 // 1.判断加速计是否可用
    if (!self.mgr.isAccelerometerAvailable) {
        NSLog(@"加速计不可用");
        return;
    }

    // 2.开始采样
    [self.mgr startAccelerometerUpdates];

    // 在需要的时候,主动获取.获取加速计信息
    CMAcceleration acceleration = self.mgr.accelerometerData.acceleration;
    NSLog(@"x:%f y:%f z:%f", acceleration.x, acceleration.y, acceleration.z);

相关文章

  • iOS加速计的简单使用

    导入头文件 iOS4之前 iOS5之后分成两种 push push方式:实时采集所有数据(采集频率高)创建运动管理...

  • ios CoreMotion框架--加速计的简单使用

    这是网上的加速计的原理 : 说的已经很好了 我就不解释了 方向感应器的实现靠的是iPhone的内置加速计。iPho...

  • 关于ipad支持横屏旋转

    加速计是整个IOS屏幕旋转的基础,依赖加速计,设备才可以判断出当前的设备方向,IOS系统共定义了以下七种设备方向:...

  • iOS传感器篇:CoreMotion初探

    Core Motion 加速计程序,螺旋仪,步数计,环境相关的事件 iOS传感器篇:CoreMotion使用目录索...

  • iOS-Android 加速计和陀螺仪的调用机制

    iOS 加速计、陀螺仪、计步器、磁强计和气压计的数据是通过核心运动框架 CoreMotion来管理的。 iOS 1...

  • 事件的基本概述

    iOS中的事件 在用户使用app过程中,会产生各种各样的事件 iOS中的事件可以分为3大类型 触摸事件 加速计事件...

  • iOS事件响应原理

    iOS中事件可以分: 触摸事件 加速计事件 远程控制事件

  • 事件处理

    iOS事件 在用户使用app过程中,会产生各种各样的事件 iOS中的事件可以分为3大类型触摸事件加速计事件:摇一摇...

  • Ios面试复习--传感器

    搭载在Ios设备上的传感器 运动传感器(Motion)/加速传感器、加速计(Accelermeter Sensor...

  • iOS 传感器

    目录一、距离传感器二、加速计三、磁力计、陀螺仪的使用和上述加速计的使用步骤类似四、摇一摇五、步数 一、距离传感器 ...

网友评论

      本文标题:iOS加速计的简单使用

      本文链接:https://www.haomeiwen.com/subject/gjlvdttx.html