当用户在触控板上做手势时,我想得到手指的位置。
我已经迷上了在滑动时触发的swipeWithEvent。在那个NSEvent中,有一个方法deltaX报告运动的变化。还有一个看起来很有希望的绝对X方法,但除了以下断言失败之外我无法返回它:
发送到事件的消息无效“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?
答案 0 :(得分:2)
来自-[NSEvent absoluteX]
的文档:
要使坐标有效, 接收器应代表一个事件 由平板电脑指点设备生成 (否则返回0)。这种方法 仅对带有a的鼠标事件有效 NSTabletPointEventSubtype的子类型 以及NSTabletPoint类型的事件
我认为如果你需要在非平板设备上获得相同的信息,你需要告诉Apple(通过bug报告者或DTS)你的要求,因为API目前不支持它。