我如何在我们的项目中使用iPhone的加速度计?

时间:2011-01-19 09:10:18

标签: iphone

我想在iphone上创建简单的应用程序。为此目的,我使用加速度计,我的物体在轨道上,无论何时它将走出轨道,它将检测我是否移动了iphone

3 个答案:

答案 0 :(得分:1)

Apple使用的Accelerometer参考。这对我很有帮助。

答案 1 :(得分:0)

请参阅UIAccelerometer class reference。还有示例代码(请参阅顶部附近的相关示例代码部分)。

答案 2 :(得分:0)

直接从此stackoverflow回复

复制并粘贴

您正在寻找的API位于UIResponder:

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event;
- (void)motionCancelled:(UIEventSubtype)motion withEvent:(UIEvent *)event;
- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event;

通常你只是实现这个:

- (void)motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event {
  if (event.type == UIEventSubtypeMotionShake) {
    //Your code here
  }
}
在你的UIViewController子类中(UIViewController是UIResponder的子类)。此外,您想在motionEnded中处理它:withEvent:,而不是motionBegan:withEvent:。 motionBegan:withEvent:当电话怀疑正在发生晃动时被调用,但操作系统可以确定用户故意晃动和偶然震动(如走上楼梯)之间的差异。如果操作系统决定它在motionBegan:withEvent:被调用之后不是真正的震动,它将调用motionCancelled:而不是motionEnded:withEvent:。