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 に答える