iphone陀螺功能没有被调用

时间:2011-08-11 07:53:39

标签: objective-c xcode

我们正在尝试使用陀螺仪,我已经阅读了它,我已经运行了这段代码:

-(void)acceleratedInX:(float)xx Y:(float)yy Z:(float)zz
{
    NSLog(@"%f",xx); //x value
    NSLog(@"%f",yy); //y value
    NSLog(@"%f",zz);
}

我知道当我把它放在我的委托上时,xcode应该更新这个功能。 我只想打印x,y,z值 但它没有发生..我没有得到NSLog,所以函数没有被调用。 任何帮助都会很棒 非常感谢。

1 个答案:

答案 0 :(得分:1)

您需要设置更新间隔。

您的标题应如下所示:

@interface MyViewController : UIViewController <UIAccelerometerDelegate>

在.m的顶部声明此常量:

#define kAccelUpdate 30.0
在viewDidLoad中:

UIAccelerometer *theAccel = [UIAccelerometer sharedAccelerometer];
[theAccel setUpdateInterval:1.0/kAccelUpdate];
[theAccel setDelegate:self];

那么你的听力方法:

- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration {
    NSLog(@"%g", acceleration.x);
    NSLog(@"%g", acceleration.y);
    NSLog(@"%g", acceleration.z ;
}

最终你必须把平滑代码放进去,否则accel真的很麻烦。