无法检测设备的抖动

时间:2011-03-18 07:52:51

标签: cocoa-touch ios accelerometer shake first-responder

我正在尝试检测设备(iPhone / iPod Touch)何时抖动,我已经完成的(在我的viewController.m中)是:

- (BOOL) canBecomeFirstResponder{
return YES;
}

- (void) motionEnded:(UIEventSubtype)motion withEvent:(UIEvent *)event{
if (motion == UIEventSubtypeMotionShake){
NSLog(@"Motion detected");
}
}

我已将此行添加到viewDidLoad:

BOOL ret = [self becomeFirstResponder];

然后,我构建并运行应用程序,并试图摇动设备但没有发生任何事情!..我开始使用断点来解决问题,我检测到的是从[self becomeFirstResponder]返回的“ret”值没有”。 而且不知道是什么问题。有什么帮助吗?

Info : using Xcode 4, and iOS 4.3

提前致谢。

2 个答案:

答案 0 :(得分:0)

你看过Shaking-Motion Events吗?

答案 1 :(得分:0)

我实际上找到了解决方案..

[self becomeFirstResponder];

应该只在viewDidAppear中实现:因为我在viewWillAppear:和viewDidLoad中尝试过它,并且它在两种方法中都不起作用。

由于