2016-08-06 9 views
0

トラックパッドのイベントを読み込むときに問題が発生します。トラックパッドで1回のタップと1回のファインダーのドラッグをキャッチする必要があります。また、それらを区別するために。 1回のタップをキャッチすると、次のようになります:Mac OS Xのトラックパッドで1本の指をドラッグする方法を認識する方法

- (void)mouseUp:(NSEvent*)theEvent 
{ 
    CGFloat wdev2 = self.bounds.size.width/2; 
    CGFloat hdev2 = self.bounds.size.height/2; 

    NSPoint point = [theEvent locationInWindow]; 

    float x = (point.x - wdev2)/wdev2; 
    float y = (point.y - hdev2)/hdev2; 

    [_touchHandler handleMouseTouch:x And:y]; 
} 

ドラッグを認識する方法はありますか?私はmouseDragged:を試して、それは私に3つのファインダーパンイベントを与えている。

ありがとうございます。

答えて

0

NSGestureRecognizerに加えてmouseDraggedを使用したいと思います。

をmouseDragged:

このメソッドのデフォルト実装では何もしません。この メソッドを使用して、 が適切な方法でジェスチャ認識器の状態を更新します。

ジェスチャ認識機能は、そのビュー(およびサブフック )で発生するイベントを監視しますが、レスポンダチェーン自体には参加しません。 ジェスチャ認識プログラムは、ビューの前にイベントを受け取ります。 delaysPrimaryMouseButtonEventsプロパティを使用して、イベントが をビューに伝播するかどうかを制御します。

NSGestureRecognizerと一緒に使用すると、効果を得ることができます。

AppKit Framework Reference>NSGestureRecognizer Class Reference

+0

私はそれらしかし、残念ながら、希望することができませんでした行動で行ったいくつかの実験。そしてポイントは、それがマウス(クリック、クリック+ドラッグ)とうまくいっているが、トラックパッドではうまくいきません。 –

関連する問題