3

我创建了一个 NSImageView 的子类,并实现了用于在同一类的其他实例之间拖动图像的非正式协议。我在拖动操作之前保留对视图图像的引用,并且能够在给定特定标准的情况下将其设置回所述图像。

但是,我似乎无法检测到拖动操作是否被取消。我知道调用了 draggingEnded 方法,但是在拖动成功时也会调用它。有任何想法吗?

4

1 回答 1

3

我遇到了类似的要求。您可以检查operation传递给 NSDraggingSource 协议方法的参数draggedImage:endedAt:operation:以检测拖动取消的事实没有得到很好的记录。

draggedImage:endedAt:operation:方法中只需添加以下检查:

if (operation == NSDragOperationNone)
    return;

// Otherwise perform any drag completion tasks.
于 2011-07-11T16:28:34.033 回答