4

我正在尝试实现在我的应用程序中有效的抖动识别。为此,我将以下代码添加到我的 xxxAppDelegate.m:

-(BOOL)canBecomeFirstResponder {
    return YES;
}

- (void)motionBegan:(UIEventSubtype)motion withEvent:(UIEvent *)event {
    if (event.type == UIEventSubtypeMotionShake) {
        NSLog(@"Shaken, not stirred.");
    }
}

但是因为在 .h 文件中,委托被定义为

@interface xxxAppDelegate : NSObject <UIApplicationDelegate, UITabBarControllerDelegate>

我无法使用

[self becomeFirstResponder];

在 .m 中使应用程序委托第一响应者。因此,它当然行不通。让它工作的最佳方法是什么?

4

1 回答 1

3

如果您将应用程序委托更改为 的子类会发生UIResponder什么?

编辑

您可以在文档中阅读有关响应者链信息。

于 2011-11-11T20:55:28.733 回答