iOS加速度传感器
加速度传感器是根据x,y和z三个方向来检测设备位置的变化
iOS设备正面朝上放置,加速度传感器的默认原点为手机的物理重心位置,y轴朝手机顶部,x朝右,z朝屏幕正上方(正方向)
- import CoreMotion
- 初始化UIAccelerometer单例
static var instance: CoreMotionManager?
class func sharedManager() -> CoreMotionManager {
if (instance == nil) {
instance = CoreMotionManager()
}
return instance!
}
3.设置UIAccelerometer的accelerometerUpdateInterval属性,就是检查设备更新的时间间隔
func startReceivingAccelerometerUpdatesWithInterval(interval: NSTimeInterval, completion: ((CMAccelerometerData!, NSError!) -> Void)!) {
//传感器是否可用
if (manager.accelerometerAvailable) {
manager.stopAccelerometerUpdates()
manager.accelerometerUpdateInterval = interval
//
manager.startAccelerometerUpdatesToQueue(NSOperationQueue.mainQueue(), withHandler: {
data, error in
//CMAccelerometerData 包含了三个方向上的加速度,以g为单位(g为重力加速度)
//data.acceleration.x data.acceleration.y data.acceleration.z
if let callback = completion { callback(data, error) }
})
}
}
如果你设备保持静止然后竖直放置的话,加速度的值就是(0,-1,0),将其平放在桌面上就会是(0,0,-1)
网友评论