加速计Accelerate - (Obj-C)

  • 加速计作用:
    用于检测设备的受力情况(比如摇晃),检测加速度/重力感应,受力变化

  • 加速计原理:
    检测设备在X,Y,Z轴上的加速度(哪个方向有力的欧勇,哪个方向运动了)

  • 区别陀螺仪:
    陀螺仪检测旋转程度.加速计检测受力方向的变化

X,Y,Z轴方向是相对硬件自身的:

加速计Accelerate - (Obj-C)_第1张图片
accelerate_1.png
加速计Accelerate - (Obj-C)_第2张图片
accelerate_2.png

iOS 5中已经过期,主要在iOS 4以前使用,iOS 4以后使用CoreMotion.framework

使用方式很简单

示例代码:

#import "ViewController.h"

@interface ViewController () 

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    // 1.创建加速计
    UIAccelerometer *accelerometer = [UIAccelerometer sharedAccelerometer];
    // 2.设置更新间隔
    accelerometer.updateInterval = 1.0f;
    // 3.获取数据  设置代理
    accelerometer.delegate = self;

}
//当获取加速度数据后调用
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration{
    
    NSLog(@"%f, %f, %f", acceleration.x, acceleration.y, acceleration.z);
}

@end

需要注意的是测试时需要使用真机,模拟器是没有加速计硬件的

你可能感兴趣的:(加速计Accelerate - (Obj-C))