Я пытаюсь реализовать распознавание встряхивания, которое работает во всем приложении. Для этого я добавляю следующий код в свой 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, чтобы приложение делегировало первого респондента. Поэтому, конечно, это не работает.
Каков наилучший способ заставить его работать?