加速计作用:
用于检测设备的受力情况(比如摇晃),检测加速度/重力感应,受力变化加速计原理:
检测设备在X,Y,Z轴上的加速度(哪个方向有力的欧勇,哪个方向运动了)区别陀螺仪:
陀螺仪检测旋转程度.加速计检测受力方向的变化
X,Y,Z轴方向是相对硬件自身的:
accelerate_1.png
accelerate_2.png
iOS 5中已经过期,主要在iOS 4以前使用,iOS 4以后使用CoreMotion.framework
使用方式很简单
示例代码:
#import "ViewController.h"
@interface ViewController () <UIAccelerometerDelegate>
@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
需要注意的是测试时需要使用真机,模拟器是没有加速计硬件的