2

ユーザーがトラックパッドでジェスチャを行ったときに指の位置を取得したいと思います。

私はすでにスワイプでトリガーする swipeWithEvent に接続しています。その NSEvent 内には、動きの変化を報告するメソッド deltaX があります。有望に見えるabsoluteXメソッドもありますが、次のアサーションエラー以外は何も返すことができません:

イベントに送信された無効なメッセージ「NSEvent: type=Swipe loc=(394,335) time=3893.8 flags=0x100 win=0x10022fdc0 winNum=586 ctxt=0x0 deltaX=-1.000000 deltaY=0.000000」

エラー メッセージの 'loc' 値は、時間の経過とともに少し変化しますが、私の理解では、変化が小さすぎるため、正しい値ではありません。

では、トラックパッドで NSEvent の absoluteX を適切に使用するにはどうすればよいですか?

4

1 に答える 1

2

のドキュメントから-[NSEvent absoluteX]:

座標が有効であるためには、レシーバーはタブレット ポインティング デバイスによって生成されたイベントを表す必要があります (そうでない場合は 0 が返されます)。このメソッドは、サブタイプが NSTabletPointEventSubtype のマウス イベントとタイプが NSTabletPoint のイベントに対してのみ有効です。

タブレット以外のデバイスで同じ情報を取得する必要がある場合は、API が現在サポートしていないため、要件について (バグ報告者または DTS を介して) Apple に通知する必要があると思います。

于 2010-09-24T08:42:45.680 に答える