0

我想这样做:如果设备移动(加速度计值发生变化),那么我想根据该移动在我的视图中调整一些值。

每次加速度计值发生变化时我会调用一个方法吗?我认为这不是一个好主意,因为它们可能会经常刷新。

4

4 回答 4

1

如果您担心来自加速度计的噪声,您可以通过实施移动平均来平滑输入。这将允许您以您想要的频率采样,而不必担心来自加速度计的错误启动。

http://en.wikipedia.org/wiki/Moving_average

于 2009-05-05T16:51:47.883 回答
1

如果您担心更改过于频繁,只需使用累加器即可;使用一点代码来检测更改并检查系统时间;只有在足够的系统时间过去后,您才会触发(可能累积的)更改方法。

于 2009-05-05T16:46:52.560 回答
1

我想是的......如果不是,你只有一个选择。定期阅读。同样,周期越短,准确性越高。因此,如果您可以在检测到值更改时触发事件,则可能会更有效。

于 2009-05-05T16:47:18.987 回答
1

当您accelerometer:didAccelerate:在.UIAccelerometerDelegateif

在实现的类中UIAccelerometerDelegate,您可以拥有一个包含类似内容的属性,lastTimeUpdated然后在您更改视图时更新它

于 2009-05-05T22:09:12.363 回答