2012-05-29 8 views
9

iOS用のジェスチャー認識ツールでかなりのことをしましたが、現在はOS Xで作業していますが、私は迷っています。OS Xでジェスチャ認識機能を実装するにはどうすればよいですか?

フィンガーのように存在する機能を複製して、2本の指でスワイプ(魔法のマウスで)してディレクトリツリーを前後に移動することができます。

私はFinderとよく似たNSWindowベースのアプリを持っています。それ以前にアプリを使用していたので、自分のジェスチャー認識ツールを作成することができるので、それを行うことは可能ですが、ドキュメントは表示されません。

これらのジェスチャーを実装するには何が必要ですか?

答えて

3

Handling Trackpad Eventsは、Cocoa Event Handlingガイドで読むことができます。システムは、あらかじめ定義されたジェスチャー(スワイプ、回転など)を検出することも、通常のマウスイベントと同様に、NSResponderチェーンを移動する生のタッチイベントを聴くこともできます。

0

CZKitにEvent Recognizerクラスもあるようです。 https://github.com/CarterA/CZKit

私はまだこれを使用していないので、YMMVです。

+0

そのlibのジェスチャーに関連するものは見つかりませんでした。 – eonist

+0

私はまだそれを使用していませんし、READMEからはそれが何をすべきかを覚えていないかもしれませんが、私はこのディレクトリの 'CZActionRecognizer'クラスを参照していたと仮定します:https://github.com/CarterA/ CZKit/tree/master/Libraries/CZUI/Classes一般的なジェスチャー/アクションの基本クラスと思われるようです。クリックを認識したくない場合は、実際の認識ツールを自分で書く必要があるようです。がんばろう! – livingtech

+0

潜在的なジェスチャーイベントのための一般的なイベントハンドラですか?それは私が作ることができる最高の解釈です。私が推測する人に文脈上の重要性があります。説明しようと努力しています。 :)ジェスチャーイベントに関連する情報を探している他の人へのメモとして、私が見つけたのは2つのアプローチがあるということです。 1つは、NSViewのジェスチャーメソッドをオーバーライドすることです。他のより現代的なアプローチは、ジェスチャー認識プログラムに「セレクタ」を追加することです。後でジェスチャが開始され、終了したときなどを制御しやすくなりますが、オーバーライドすることで同じことが達成できます。簡単ではない。 – eonist

2

Macが今持っている:ストーリーボードで利用可能

  • NSClickGestureRecognizer
  • NSMagnificationGestureRecognizer
  • NSPanGestureRecognizer
  • NSPressGestureRecognizer
  • NSRotationGestureRecognizer

を過ぎます。

関連する問題