iphone - 流畅的 UI 加速度计

标签 iphone

如何平滑 iPhone/iPod Touch 的加速计?

最佳答案

您可以在使用之前对传入数据应用过滤器来平滑加速度计数据。您要做的第一件事是为您的过滤器设置一个常量。

#define kFilteringFactor   0.1

在 didAccelerate 方法中,您需要添加以下过滤代码

- (void)accelerometer:(UIAccelerometer*)accelerometer didAccelerate:(UIAcceleration*)acceleration
{
    sx = acceleration.x * kFilteringFactor + sx * (1.0 - kFilteringFactor);
    sy = acceleration.y * kFilteringFactor + sy * (1.0 - kFilteringFactor);
    sz = acceleration.z * kFilteringFactor + sz * (1.0 - kFilteringFactor);
}

上面的代码应该可以为您平滑数据。 sx、sy 和 sz 值的类型为 UIAccelerationValue。

Apple 文档中有很多相关信息,您可能会发现这些信息在这方面同样有用。

关于iphone - 流畅的 UI 加速度计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1374295/

相关文章:

iphone - 如何在 iPhone 的 UIImageView 上从远程服务器加载图像?

ios - 带有错误 : failed to obtain a cell from its dataSource 的 .xib 单元格的 UITableView

iphone - 即使在静音模式下也能在 iPhone 上播放声音

iphone - iOS - PayPal 集成 - "Invalid parameter Subtotal"错误

ios - 如何将 UI ImageView 从一个 View Controller 传递到另一个? swift 3

ios - 使用 xib 为所有 iPhone 尺寸调整 UI 的最简单方法

iphone - 在 iPhone 窗口上添加一个 View ,甚至在 UINavigationBar 上方

iphone - 连续/重复 MKMapView

android - HTML 站点图像背景在 iPhone 上显示错误

iphone - 复制到通用粘贴板