2

我想不出一种将 UIKit 中的 UITouch 对象与 JavaScript 中相应的触摸对象相匹配的好方法。

对于 UITouch,通常使用hash消息返回的值来识别跨触摸阶段的 UITouch 实例。在 HTML / JavaScript 中,touch.identifier使用并保证在多次触摸中是唯一的数字。

但是, 和 返回的数字[aUITouch hash]aTouch.identifier相关。关于如何将 JavaScript 通知中收到的触摸对象与 Obj-C 中收到的 UITouch 对象相匹配的任何想法?

谢谢。

4

1 回答 1

0

我想出的解决方案是使用从它们的位置派生的键将 UITouch 对象存储在字典中。因此,使用键“120:200”存储在 x 120 y 200 处发生的触摸。这一切都发生在覆盖主窗口类的 sendEvent 方法时。

我向这些触摸添加信息(在本例中为触摸区域的半径),然后使用类似的方案将它们推送到 JavaScript 运行时中的字典中。一般来说,WebKit 报告的位置与我的窗口类报告的位置相匹配,因此 JavaScript 运行时能够使用触摸的当前位置作为哈希来查找触摸半径。

于 2012-06-05T21:35:14.910 回答