如何将 Obj-C 中的 UITouch 对象与 WebKit JavaScript 中的相应触摸对象匹配?
Posted
技术标签:
【中文标题】如何将 Obj-C 中的 UITouch 对象与 WebKit JavaScript 中的相应触摸对象匹配?【英文标题】:How can I match UITouch objects in Obj-C with corresponding touch objects in WebKit JavaScript? 【发布时间】:2012-06-04 22:40:26 【问题描述】:我想不出一种将 UIKit 中的 UITouch 对象与 javascript 中对应的触摸对象相匹配的好方法。
对于 UITouch,通常使用hash
消息返回的值来识别跨触摸阶段的 UITouch 实例。在 html / JavaScript 中,touch.identifier
被使用并保证在多次触摸中是唯一的数字。
但是,[aUITouch hash]
和 aTouch.identifier
返回的数字不相关。关于如何将 JavaScript 通知中收到的触摸对象与 Obj-C 中收到的 UITouch 对象相匹配的任何想法?
谢谢。
【问题讨论】:
【参考方案1】:我想出的解决方案是使用从它们的位置派生的键将 UITouch 对象存储在字典中。因此,使用键“120:200”存储在 x 120 y 200 处发生的触摸。这一切都发生在覆盖主窗口类的 sendEvent 方法时。
我向这些触摸添加信息(在本例中为触摸区域的半径),然后使用类似的方案将它们推送到 JavaScript 运行时中的字典中。一般来说,WebKit 报告的位置与我的窗口类报告的位置相匹配,因此 JavaScript 运行时能够使用当前触摸位置作为哈希值来查找触摸半径。
【讨论】:
以上是关于如何将 Obj-C 中的 UITouch 对象与 WebKit JavaScript 中的相应触摸对象匹配?的主要内容,如果未能解决你的问题,请参考以下文章
我的 react js 代码如何与现有的 Obj-C 逻辑交互?
如何从 - (void)touchesEnded:withEvent: 获取 UITouch 位置的 UIView 对象?
如何选择正确的视图来缩放视图中的多个 UIScrollView 对象(iPhoneSDK obj-C)?