2011-09-14 11 views
1

私はスワイプジェスチャーを使うべき単純なココアプログラムを書いています。 私はNSViewサブクラスのメソッドswipeWithEvent:を実装しましたが、プログラムを試してもメソッドが呼び出されることはありません。代わりにrotateWithEvent:メソッドが機能します。 Mac OS 10.7 LionでXcode 4.1を使用しています。- (void)swipeWithEvent:(NSEvent *)イベントがLionで機能していませんか?

rotateWithEvent:swipeWithEvent:の間に違いはありますか?私が視界の下にいるときに最初に呼び出され、回転ジェスチャーを行い、同じ条件で2番目のものがスワイプジェスチャーを行うと呼び出されないのはなぜですか?

更新: swipeWithEvent:rotateWithEvent:のメソッドをチェックするための単純なプロジェクトも作成しましたが、動作は同じです。

答えて

2

私が書いたこのサンプルコードを見てくださいhttps://github.com/oscardelben/CocoaNavigationGestures

+0

コードのタンク。今、それは動作します(私は4つの指のジェスチャーを使用するデスクトップスイッチを有効にしました)。 これはswipeWithEvent:と2本の指ジェスチャースワイプ認識機能で動作します。 2番目のコードでは、次の2行をコメントする必要がありました。 'code' // if(![self recognizedTwoFingerGestures]) // return; あなたはなぜ[defaults boolForKey:@ "AppleEnableSwipeNavigateWithScrolls"]が常にfalseを返すのか知っていますか? ありがとうございます Peter – Peter

+0

これは、afaikのライオンでのみ有効です。問題を解決した場合は、回答を受け入れることを検討してください。 –

+0

up-vote、コードを共有していただきありがとうございます –

0

あなたのコードを投稿して、可能であれば裸の必需品に減らしておけば助けになると思います。

見るべきことの1つは、メソッドのシグネチャが定義に完全に一致することを確認することです。この場合は、次のようになります。

- (void) swipeWithEvent: (NSEvent*) event 
{ 
    NSLog(@"A swipe happened"); 
} 

定義がこれと一致していることを確認してください。 rotateWithEvent:これが正しく動作している可能性は低いですが、タイプミスが起こることがあります。

もう1つのことは、スワイプに応答するサンプルプロジェクトをログに記録することです)。これは、途中でコードやビューの階層構造が存在するかどうかを確認するのに役立ちます。

関連する問題