javascript - 如何将 Obj-C 中的 UITouch 对象与 WebKit JavaScript 中的相应触摸对象相匹配?

标签 javascript objective-c ios webkit uitouch

我想不出一个好的方法来将 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/

相关文章:

ios - NSMutableString iOS 中 nil 和 @""的区别

Javascript函数参数作为数组

javascript - 将数组传递给 JavaScript 中具有循环的函数

ios - 自定义 UIActionSheet

objective-c - 使用 Objective-C 在 MacOS 上截屏窗口

ios - dispatch_set_target_queue 是如何工作的?

iphone - 列出街道的建议名称

javascript - 在 ZXing 库中查找坐标并在 Canvas 上输出

javascript - Object.keys() 在 Internet Explorer 9 中是否适用于内置对象?

objective-c - Interface Builder 中的 GC 和对象创建