Tag: 运动检测

将摇动手势事件传递给应用程序委托

我把我的视图控制器中的motionBegan:withEvent:方法,看看它是否会工作,但它没有被调用。 在viewWillAppear ,我将视图控制器作为第一个响应者,并从canBecomeFirstResponder返回YES。 这个视图控制器在分割视图的主窗格中,所以也许第一个响应者在我摇晃设备之前被改变了。 但我真正的问题是如何将所有运动事件传递给我的应用程序委托中的处理程序? 我真的必须有motionBegan:withEvent:方法在所有视图控制器或委托给所有第一响应者? 没有办法像这样的事件stream入响应者链而不插入代码到每个UIResponder? 似乎会有,但我没有把手指在如何做到这一点。

在iPhone上检测运动(向前/向后)的algorithm?

我想知道是否有可能编写代码,让你知道用户是否在走路(他们的iphone被塞import袋里)以及他们走向哪个方向。 进一步来说 : 我对计算行驶距离不感兴趣 我对计算步骤等不感兴趣 我感兴趣的是检测运动和不动,区分两者,并区分前进和后退运动。 我知道使用iPhone 4S中的指南针可以检测到方向,但是向后移动呢? 比方说,我开始走路,然后停下来,然后我开始向后走(不用360度转弯..) 你认为有可能通过这样的方式处理来自加速度计/陀螺仪/罗盘的数据,以便能够相应地触发我的代码中的事件吗? 给你一个更具体的例子: 想象一下,我希望我的iPhone(在我的口袋里)尽快开始播放音乐(反应速度有多快?)我开始走路,然后停下脚步。 然后在我开始向后走路的时候立即播放一段video(不用转360)。

如何使用加速度计数步骤?

我必须开发与此计步器应用程序相同的function 我已经观察这个计步器应用程序非常高的细节。 这不是一个完美的计步器应用程序。 例如,如果你坐在一个地方并握手,它也可以检测步数和距离。 忽略这个理想和重力行为,因为在这个应用程序的说明中已经提到,你应该绑定你的iPhone或者你应该把它放在你的口袋里计算步骤。 这样,我发现这个应用程序工作得很好,它几乎检测到所有的步骤。 我的问题是:我根据上面的逻辑开发了一个样本,但是没有达到这个水平。 例如,有时它会同时检测2-3个步骤。 有时它工作正常。 我的代码: 在viewDidLoad中: [[UIAccelerometer sharedAccelerometer] setUpdateInterval:0.2] – (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration { const float violence = 1.2; static BOOL beenhere; BOOL shake = FALSE; if (beenhere) return; beenhere = TRUE; if (acceleration.x > violence || acceleration.x < (-1* violence)) shake = TRUE; if (acceleration.y > violence || […]