继承:NSObject
符合:NSObject
Framework:UIKit在iOS2.0 之后被引入,在iOS 5.0中弃用
UIAccelerometer类允许您注册从机载硬件接受加速计数据。随着设备的移动,其硬件会沿主轴三维空间报告线性加速度变化。你可以使用这些数据检测这目前设备的方向和任意瞬间变化的方向。你也可以使用瞬间变化作为输入一个游戏或者发起一些行动在你的应用程序。
你不能直接创建加速计的对象。相反,你可以使用共享UIAccelerometer中的对象指定你想要接收的事件事件间隔,然后设置其委托对象。在分配你的委托对象,加速度计对象开始向你提供加速事件在指定的事件间隔立即给委托。事件总是交付在应用程序的主线程。
加速计的最大频率的更新是基于可用的硬件。你可以请求更新的最低频率,但你不能超过硬件的最大频率。一旦你指定你的委托,将定期更新交付你要求的频率,在判断加速计的数据是否真的发生变化。你的委托负责过滤掉任何不必要的更新,确保数量的变化足以支持采取行动。
关于数据更得信息发送到你的观察者,请参阅UIAcceleration Class Reference类实现你的委托对象信息,请参阅UIAccelerometerDelegate Protocol Reference。
获取共享加速计对象
//返回系统的共享加速度计对象。在iOS 2.0及以后。在iOS 5.0中弃用。
+ (UIAccelerometer *)sharedAccelerometer;
访问加速计性能
//交付加速度数据的时间间隔的委托。在iOS 2.0及以后。在iOS 5.0中弃用。
@property(nonatomic) NSTimeInterval updateInterval;
//你想接收加速事件的委托对象。在iOS 2.0及以后。在iOS 5.0中弃用。
@property(nonatomic, weak) id< UIAccelerometerDelegate > delegate;
UIAccelerometerDelegate
UIAccelerometerDelegate协议定义了一个单一方法从系统接收加速数据。该方法实现是可选的。
加速计响应事件
/* 提供最新的加速数据的委托。在iOS 2.0及以后。在iOS 5.0中弃用。
* accelerometer|应用程序范围的加速度计对象。
* acceleration|最近的加速度数据。
*/
- (void)accelerometer:(UIAccelerometer *)accelerometer
didAccelerate:(UIAcceleration *)acceleration;