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 的事件有效

我认为如果您需要在非平板设备上获取相同的信息,您需要告诉 Apple(通过错误报告器或 DTS)您的要求,因为 API 目前不支持它。

于 2010-09-24T08:42:45.680 回答