我想不出一个好的方法来将 UIKit 中的 UITouch 对象与它们在 JavaScript 中的相应触摸对象相匹配。
对于 UITouch,通常使用 hash
消息返回的值来跨触摸阶段识别 UITouch 实例。在 HTML/JavaScript 中,使用 touch.identifier
并保证在多次触摸中是唯一的编号。
但是,[aUITouch hash]
和aTouch.identifier
返回的数字是不相关的。关于如何将 JavaScript 通知中接收到的触摸对象与 Obj-C 中接收到的 UITouch 对象进行匹配的任何想法?
谢谢。
最佳答案
我想出的解决方案是使用从其位置派生的键将 UITouch 对象存储在字典中。因此,发生在 x 120 y 200 处的触摸将使用键“120:200”存储。这一切都发生在覆盖主窗口类的 sendEvent 方法时。
我向这些触摸添加信息(在本例中为触摸区域的半径),然后使用类似的方案将它们推送到 JavaScript 运行时的字典中。一般来说,WebKit 报告的位置与我的窗口类报告的位置相匹配,因此 JavaScript 运行时能够使用触摸的当前位置作为哈希来查找触摸半径。
关于javascript - 如何将 Obj-C 中的 UITouch 对象与 WebKit JavaScript 中的相应触摸对象相匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10889384/