我们正在尝试使用陀螺仪,我已经阅读了它,我已经运行了这段代码:
-(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,所以函数没有被调用。 任何帮助都会很棒 非常感谢。
答案 0 :(得分:1)
您需要设置更新间隔。
您的标题应如下所示:
@interface MyViewController : UIViewController <UIAccelerometerDelegate>
在.m的顶部声明此常量:
#define kAccelUpdate 30.0
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真的很麻烦。