4

draggingUpdated:在一个WebView子类中重写。这样我就可以获得NSPoint当前拖动目的地的位置[(id<NSDraggingInfo>)sender draggingLocation]

我想得到这个NSPoint并将其“转换”为 中的坐标然后WebView使用WebView's获取该点的基础元素elementAtPoint:

问题是,我得到了NSPoint,而且我也有 WebView 的边界/框架。这个敞篷车怎么样?

4

2 回答 2

7

用于此是不正确-convertPointFromBase:的。该方法已被弃用,建议的替换 ( -convertPointFromBacking:) 不适用于此目的,因为它假定输入点位于后备存储坐标系中。(这实际上暗示了 的最初目的-convertPointFromBase:,这是现已被放弃的 Leopard 时代对高分辨率支持的尝试的一部分。它转换的“基本坐标系”应该是像素对齐的。搜索用于Leopard AppKit 发行说明中的​​“像素对齐和将视图坐标转换为“基础”空间和从“基础”空间转换。)

你想要-convertPoint:fromView:并且你应该传递参数nilfromView请参阅Cocoa 绘图指南:坐标系和变换 - 从窗口坐标转换为视图坐标

于 2013-08-24T05:58:31.640 回答
0

好的,哇。刚刚遇到了可可似乎绝对令人惊叹的案例之一:

[self convertPointFromBase:point];

是的,这就是全部。

于 2013-08-23T13:26:01.243 回答