加速计
2015-10-14 23:02
204 查看
一、UIAccelerometer
1.使用步骤
1)获得单例对象
UIAccelerometer*accelerometer = [UIAccelerometer sharedAccelerometer];
2)设置代理
accelerometer.delegate = self;
3)设置采样间隔
accelerometer.updateInterval= 1.0/30.0;//1秒钟采样30次
4)实现代理方法
//acceleration中的x、y、z三个属性分别代表每个轴上的加速度
-(void)accelerometer:(UIAccelerometer *)accelerometerdidAccelerate:(UIAcceleration *)acceleration;
二、Core Motion
在iOS4之前,加速计由UIAccelerometer类来负责采集数据。
随着iPhone4的推出,加速计全面设计,并引入了陀螺仪。
与Motion(运动)相关的编程称为了重头戏。
苹果特地在iOS4中增加了专门处理Motion的框架CoreMotion.framework。
1.获取数据的两种方式
1)push
实时采集所有数据(采集频率高)
2)pull
在有需要的时候,再主动去采集数据
2.使用步骤(push)
1)创建运动管理者对象
CMMotionManager*mgr = [[CMMotionManageralloc]
init];
2)判断加速计是否可用(最好判断)
if(mgr.isAccelerometerAvailable){
//加速计可用
}
3)设置采样间隔
mgr.accelerometerUpdateInterval =1.0/30.0;
//1秒钟采样30次
4)开始采样(采样到数据就会调用handler,handler会在queue中执行)
-(void)startAccelerometerUpdatesToQueue:(NSOperationQueue*)queue withHandler:(CMAccelerometerHandler)handler;
使用步骤(pull)
1)创建运动管理者对象
CMMotionManager*mgr = [[CMMotionManageralloc]
init];
2)判断加速计是否可用(最好判断)
if(mgr.isAccelerometerAvailable){
//加速计可用
}
3)开始采样
-(void)startAccelerometerUpdates;
4)在需要的时候采集加速度数据
CMAcceleration acc = mgr.accelerometerData.acceleration;
NSLog(@"x:%f,y:%f,z:%f", acc.x, acc.y, acc.z);
1.使用步骤
1)获得单例对象
UIAccelerometer*accelerometer = [UIAccelerometer sharedAccelerometer];
2)设置代理
accelerometer.delegate = self;
3)设置采样间隔
accelerometer.updateInterval= 1.0/30.0;//1秒钟采样30次
4)实现代理方法
//acceleration中的x、y、z三个属性分别代表每个轴上的加速度
-(void)accelerometer:(UIAccelerometer *)accelerometerdidAccelerate:(UIAcceleration *)acceleration;
二、Core Motion
在iOS4之前,加速计由UIAccelerometer类来负责采集数据。
随着iPhone4的推出,加速计全面设计,并引入了陀螺仪。
与Motion(运动)相关的编程称为了重头戏。
苹果特地在iOS4中增加了专门处理Motion的框架CoreMotion.framework。
1.获取数据的两种方式
1)push
实时采集所有数据(采集频率高)
2)pull
在有需要的时候,再主动去采集数据
2.使用步骤(push)
1)创建运动管理者对象
CMMotionManager*mgr = [[CMMotionManageralloc]
init];
2)判断加速计是否可用(最好判断)
if(mgr.isAccelerometerAvailable){
//加速计可用
}
3)设置采样间隔
mgr.accelerometerUpdateInterval =1.0/30.0;
//1秒钟采样30次
4)开始采样(采样到数据就会调用handler,handler会在queue中执行)
-(void)startAccelerometerUpdatesToQueue:(NSOperationQueue*)queue withHandler:(CMAccelerometerHandler)handler;
使用步骤(pull)
1)创建运动管理者对象
CMMotionManager*mgr = [[CMMotionManageralloc]
init];
2)判断加速计是否可用(最好判断)
if(mgr.isAccelerometerAvailable){
//加速计可用
}
3)开始采样
-(void)startAccelerometerUpdates;
4)在需要的时候采集加速度数据
CMAcceleration acc = mgr.accelerometerData.acceleration;
NSLog(@"x:%f,y:%f,z:%f", acc.x, acc.y, acc.z);
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- js判断客户端是iOS还是Android等移动终端的方法
- IOS开发环境windows化攻略
- .net平台推送ios消息的实现方法
- 探讨Android与iOS,我们将何去何从?
- android 传感器(OnSensorChanged)使用介绍
- Android、iOS和Windows Phone中的推送技术详解
- IOS 改变键盘颜色代码
- 举例详解iOS开发过程中的沙盒机制与文件
- Android和IOS的浏览器中检测是否安装某个客户端的方法
- javascript实现阻止iOS APP中的链接打开Safari浏览器
- IOS开发第三方语音-微信语音
- iOS开发之路--微博OAuth授权_取得用户授权的accessToken
- 基于UIControl控件实现ios点赞功能