我draggingUpdated:在一个WebView子类中重写。这样我就可以获得NSPoint当前拖动目的地的位置[(id<NSDraggingInfo>)sender draggingLocation]
我想得到这个NSPoint并将其“转换”为 中的坐标,然后WebView使用WebView's获取该点的基础元素elementAtPoint:
问题是,我得到了NSPoint,而且我也有 WebView 的边界/框架。这个敞篷车怎么样?
我draggingUpdated:在一个WebView子类中重写。这样我就可以获得NSPoint当前拖动目的地的位置[(id<NSDraggingInfo>)sender draggingLocation]
我想得到这个NSPoint并将其“转换”为 中的坐标,然后WebView使用WebView's获取该点的基础元素elementAtPoint:
问题是,我得到了NSPoint,而且我也有 WebView 的边界/框架。这个敞篷车怎么样?
用于此是不正确-convertPointFromBase:的。该方法已被弃用,建议的替换 ( -convertPointFromBacking:) 不适用于此目的,因为它假定输入点位于后备存储坐标系中。(这实际上暗示了 的最初目的-convertPointFromBase:,这是现已被放弃的 Leopard 时代对高分辨率支持的尝试的一部分。它转换的“基本坐标系”应该是像素对齐的。搜索用于Leopard AppKit 发行说明中的“像素对齐和将视图坐标转换为“基础”空间和从“基础”空间转换。)
你想要-convertPoint:fromView:并且你应该传递参数nil。fromView请参阅Cocoa 绘图指南:坐标系和变换 - 从窗口坐标转换为视图坐标。
好的,哇。刚刚遇到了可可似乎绝对令人惊叹的案例之一:
[self convertPointFromBase:point];
是的,这就是全部。