【摘要】:加速度计是一个用于测量当前设备加速度的传感器,每个iPhone设备上都会有,它会将三个轴向的加速度数据传递给iOS系统。在此之前先设置了加速度计的间隔时间为1.0秒,接着传入一个OperationQueue和闭包作为回调函数,回调函数会执行在指定的Queue上。如图18.1.1所示:每一行是一次更新记录,首先是加速度三个方向的值,最后一个为时间戳。如图18.1.1所示:图18.1.1iOS硬件坐标系图18.1.1iOS硬件坐标系
加速度计是一个用于测量当前设备加速度的传感器,每个iPhone设备上都会有,它会将三个轴向的加速度数据传递给iOS系统。有了这三个方向上的数据,应用就可以检测设备在任意方向上的运动。
Core Motion提供了一个CMMotionManager的类。我们可以在使用时创建此类的实例,通过这个实例去获取加速度更新。创建CoreMotionPractise的项目时,我们需要注意有一些传感器是Xcode模拟器不能模拟出来的,因此本章的实例都是在真实的iOS设备上运行的。在View Controller中编写代码,如下:
动手写18.1.1 CoreMotionPractise->ViewController.swift
本例在View Controller中声明了一个CMMotionManager类型的motionManager属性。在视图控制器的视图加载完毕之后,启动加速度值的监听回调。在此之前先设置了加速度计的间隔时间为1.0秒,接着传入一个OperationQueue和闭包作为回调函数,回调函数会执行在指定的Queue上。(www.xing528.com)
运行真机,控制台便有如下的输出:
每一行是一次更新记录,首先是加速度三个方向的值,最后一个为时间戳。我们可以发现:的确是每隔一秒返回一次最新的加速度值。这里要补充下传感器在iOS设备中的坐标系:首先将设备按Home键在下的方向放置,X轴正方向是在设备屏幕的平面内向右,Y轴正方向是在设备屏幕的平面内向上,Z轴正方向是垂直于设备屏幕向外。如图18.1.1所示:
图18.1.1 iOS硬件坐标系
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。