问题标签 [uiaccelerometer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
317 浏览

iphone - 检测加速度计在 y 轴上的运动方向

我目前检测到 y 轴上的运动。如何计算它在轴上移动的方向?

向上或向下移动时我得到相同的值。

这个需要陀螺仪吗?

0 投票
1 回答
77 浏览

ipad - 从子视图调用的 UIAccelerometer 不起作用

我对 iPad 应用程序中的 UIAccelerometer 有一个“有趣”的问题。

在我的 UIViewController 中,我有一个激活加速度计的方法。这是它的样子:

在我看来WillAppear 我调用这个方法来激活加速度计,它工作得很好。我收到加速度并用它来移动屏幕上的视图。

在用户输入时,我会加载另一个需要使用加速度计的视图(UIView)。所以我用这段代码在我的 UIViewController 中停止加速度计:

然后我加载 UIView 并以相同的方式在那里激活加速度计。一切正常。

当我想关闭 UIView 并再次在 UIViewController 中启动加速度计时,我的问题就开始了。我在 UIView 中停止它并从 UIView 调用我的 UIViewController 中的 startAcc 方法。该方法执行,但我没有收到加速:-(

方法相同,但结果不同。

谁能指导我在这里缺少什么?

谢谢

0 投票
1 回答
652 浏览

ios - 如何有效地使用 CMMotionManager 的“deviceMotion”来强制球在圆形边界内移动?

我正在使用花栗鼠空间管理器。我的空间设置是一个球和一堆段(在我的例子中是 512 个)连接在一起形成一个圆圈。

我的目标是在用户移动设备时迫使球在该圆圈内移动。用户移动设备的速度越快,球绕圈移动的速度就越快。球也必须遵循所有物理定律。

我从 CMMotionManager 获得了重力和 userAcceleration 组件,但无法理解它。

我尝试手动施加力并且效果很好,但是我无法根据用户移动设备的程度将球移动到圆圈中。就像我将一个小球放入玻璃杯中并摇动玻璃一样,当没有更多外力移动/倾斜玻璃时,球将在玻璃的圆形底部移动并沿玻璃倾斜的方向停止

0 投票
1 回答
1633 浏览

iphone - 使用 iPhone/iPad 中的加速度计进行水平和垂直抖动计数

我想计算水平和垂直抖动的次数,我提到了UIAcceleration

我也提到了运动事件

但想不出更好的办法。任何类型的帮助都非常感谢,代码,参考,或任何类型。

我只是想计算用户摇晃iphone设备的次数,摇晃可以是垂直或水平握住iphone以正常方式(底部的home键)

0 投票
1 回答
107 浏览

iphone - 检测加速度计检测到运动的时间范围

如何检测设备在加速度计上检测到运动的时间量?

如果我想检测设备上的连续运动检测,例如 10 秒的运动。这是怎么做到的?当我使用加速度计委托方法时,它一直被调用并且难以处理时间计算。

0 投票
3 回答
2000 浏览

iphone - 检测设备倒置

检测设备倒置的正确值是多少?

我有以下内容,它开始检测用户何时将设备置于其背面。

我使用以下值

0 投票
0 回答
770 浏览

iphone - NSOperationQueue 阻塞主线程,UIAccelerometerDelegate 不会触发

我有一段代码调用 [NSOperationQueue waitUntilAllOperationsAreFinished],在队列中,我为加速度计放置了一个传感器检测器。

加速度计委托需要主线程才能响应 didAccelerate 以记录收集的数据。但是,由于 Queue 阻塞了 main 方法,Acclerometer 的委托似乎永远不会触发。我还注意到,在 NSOperationQueue 块发生后,任何被迫在主线程 (NSOBject performSelectorOnMainThread:withObject:waitUntilDone) 上运行的东西也永远不会运行。

我是否有另一个选项可以允许阻塞发生,但仍然允许加速计委托触发。

这是一个快速的代码片段:

对于 AccelerometerOperation,我通过修改 isFinished 和 isExecuting 绕过了 start 方法完成时它没有结束的问题:

如果我删除 waitUntilALlOperationsAreFinished,日志会打印“Did 加速”。但是,在 waitUntilFinished 运行的情况下,即使在 DidAccelerate 中设置断点也不会触发。

0 投票
1 回答
403 浏览

iphone - 通话激活时是否有可能运行加速度计?

嗨,在我的项目中,我需要在通话激活时调用加速度计,我使用此代码在通话期间调用加速度计。

但它既不显示通话状态,也不在通话过程中在后台运行加速,我从苹果iOS最新的多任务功能指南中使用了这个,但不显示通话状态,加速计不在后台运行。是否可以在通话过程中感知加速并在通话过程中播放音频文件,或者在 iOS 中是不可能的。或者,如果有可能,那么使之成为可能的方法或代码是什么。

0 投票
0 回答
214 浏览

ios5 - 来自 UIAccelerometer 的速度

对于我的项目,我需要创建一个应用程序,根据您摇晃手机的力度来显示消息。它应该在 3 秒内记录最大速度/重力。我想出了一个例子:假设你把你的 iPhone 从屋顶掉到枕头上,它达到了 1.5G/或 40mph,显示你达到了 1.5G/40mph。

提前致谢!

0 投票
0 回答
131 浏览

ios - iPhone横向模式下的球动画

我正在使用UIAccelerometer.

它工作正常,现在我希望在横向模式下也能正常工作。当我尝试在横向模式下使用相同的代码部分(用于纵向)时,它给了我一个奇怪的结果,似乎是完全错误的。

我下面的代码用于纵向视图。