【问题标题】:Obtain g-force from accelerometer readings从加速度计读数中获取 g 力
【发布时间】:2014-06-08 22:15:19
【问题描述】:

我想要一个标签来显示 iPhone 正在经历的当前 g 力。我有从加速度计获取信息的代码,但我不知道如何将数据发送到标签以显示当前的 g 力。 这是我的代码...

if (!self.manager) {
    self.manager = [CMMotionManager new];
}

if (self.manager.isAccelerometerActive) {
    [self.manager stopAccelerometerUpdates];
}

NSOperationQueue *queue = [NSOperationQueue new];

[self.manager setAccelerometerUpdateInterval:1.0 / 30.0]; // 30 Updates Per Second
[self.manager startAccelerometerUpdatesToQueue:queue withHandler:^(CMAccelerometerData *accelerometerData, NSError *error) {
NSLog(@"X: %f         Y: %f         Z: %f",accelerometerData.acceleration.x,accelerometerData.acceleration.y,accelerometerData.acceleration.z);
}];

谢谢

【问题讨论】:

    标签: ios objective-c accelerometer


    【解决方案1】:

    这很容易。你需要在 Interface Builder 中设置一个 UILabel,你会看到一个类似这样的属性:

        @property (strong, nonatomic) IBOutlet UILabel *myLabel;
    

    在您的 NSLog 语句之后,您需要插入以下代码:

        self.myLabel.text = [NSString stringWithFormat:@"x=%f, y=%f, z=%f", accelerometerData.acceleration.x,accelerometerData.acceleration.y,accelerometerData.acceleration.z];
    

    当然你可能想让它看起来更好,但这应该足以让你继续前进。

    【讨论】:

    • 顺便说一句,我查看了你的网站,伙计,我希望我在 15 岁的时候就拥有那个驱动器。继续努力!
    • 非常感谢!去年 8 月,我在观看有关如何制作音板应用程序的 youtube 视频后才开始开发,并意识到开发并不像我想象的那么难。不过,我还有很多事情要做。也感谢您的代码!
    • 我的 viewDidLoad 中也有这段代码,可以吗?
    • 我测试了代码,是的,它显示在应用程序中,但有两件事,1 它不是当前的 g-force,我需要它来显示手机正在经历的当前 g-force,2它需要一分钟才能加载。正常吗
    • 是的,viewDidLoad 很好。所有的工作都发生在 NSOperationQueue 中。
    猜你喜欢
    • 2011-10-18
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 2020-11-14
    • 1970-01-01
    • 2012-09-18
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多