我正在尝试实现在我的应用程序中有效的抖动识别。为此,我将以下代码添加到我的 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 中使应用程序委托第一响应者。因此,它当然行不通。让它工作的最佳方法是什么?