Iphone 什么';由于加速计值的变化,改变视图属性的最佳方法是什么?

Iphone 什么';由于加速计值的变化,改变视图属性的最佳方法是什么?,iphone,uikit,accelerometer,Iphone,Uikit,Accelerometer,我想这样做:如果设备移动(加速计值改变),那么我想根据移动调整视图中的一些值 我会在每次加速计值更改时调用一个方法吗?我认为这不是一个好主意,因为它们可能刷新得太频繁。如果您担心更改太频繁,请使用累加器;使用少量代码检测更改,并检查系统时间;只有在系统时间足够长的情况下,才会启动(可能累积的)更改方法。如果担心更改过于频繁,只需使用累加器即可;使用少量代码检测更改,并检查系统时间;只有在系统时间足够长的情况下,才会触发(可能累积的)更改方法。我想是的。。。如果没有,你只有一个选择。定期阅读。周期

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


我会在每次加速计值更改时调用一个方法吗?我认为这不是一个好主意,因为它们可能刷新得太频繁。

如果您担心更改太频繁,请使用累加器;使用少量代码检测更改,并检查系统时间;只有在系统时间足够长的情况下,才会启动(可能累积的)更改方法。

如果担心更改过于频繁,只需使用累加器即可;使用少量代码检测更改,并检查系统时间;只有在系统时间足够长的情况下,才会触发(可能累积的)更改方法。

我想是的。。。如果没有,你只有一个选择。定期阅读。周期越短,精确度越高。因此,如果您可以在检测到值发生变化时触发事件,可能会更有效。

我想是的。。。如果没有,你只有一个选择。定期阅读。周期越短,精确度越高。因此,如果您能在检测到值的变化时触发事件,可能会更有效。

如果您担心来自加速计的噪声,您可以通过实施移动平均来平滑输入。这将允许您任意频繁地采集样本,而无需担心来自加速计的错误启动


如果您担心来自加速计的噪音,可以通过实施移动平均来平滑输入。这将允许您任意频繁地采集样本,而无需担心来自加速计的错误启动


当您在
UIAccelerometerDelegate
中实现
Accelerator:didAccelerate:
方法时,只需使用
if
语句,检查上次更新之间的时间是否足够长


在实现
UIAccelerometerLegate
的类中,您可以拥有一个属性,该属性包含类似
lastTimeUpdated
的内容,然后在您实现
UIAccelerometerLegate
中的
AccelerometerLegate:didAccelerate:
方法时,每当您更改视图时更新它,只要有一个
if
语句,检查上次更新之间的时间是否足够长


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

是的,听起来不错。所以,累加器是我在某处(哪里?)实现的一种光滑、轻量级的方法?是的,听起来不错。累加器是我在某处(哪里?)实现的一种光滑、轻巧的方法?同时我将计算测量值的移动平均值,以获得更好的值,对吗?同时我将计算测量值的移动平均值,以获得更好的值,对吗?