SafariやFinderなどのいくつかのアプリケーションは、Magic Mouseを2本の指で(またはMagic Trackpadを3本の指で)スワイプする と前後に移動します。
これをCocoaアプリケーションにどのように実装しますか?どのクラスが利用できますか?
SafariやFinderなどのいくつかのアプリケーションは、Magic Mouseを2本の指で(またはMagic Trackpadを3本の指で)スワイプする と前後に移動します。
これをCocoaアプリケーションにどのように実装しますか?どのクラスが利用できますか?
NSResponderがすでに作業を行っているため、3本の指でスワイプするのが最も簡単です。
- (void)swipeWithEvent:(NSEvent *)event;
2本の指によるスワイプ(技術的にはスワイプとして分類できるとは思わないが、スクロールジェスチャ)をサポートする場合は、タッチを手動で処理する必要があります。http://developer.apple.com/libraryを参照してください。 /mac/#documentation/Cocoa/Conceptual/EventOverview/HandlingTouchEvents/HandlingTouchEvents.html#//apple_ref/doc/uid/10000060i-CH13-SW10
私の場合、2本の指でスワイプすると、スワイプする情報(NSScrollViewインスタンスなど)を保持しているNSViewの子孫をサブクラス化してから、-(void)scrollWheel:(NSEvent *)eventを実装することでトラックパッドを操作しました。このメソッドは2本指のスワイプに対して呼び出されます。スワイプの方向は、[eventdeltaX]および[eventdeltaY]プロパティから取得できます。