如何在webView中返回WebDragSourceAction:dragSourceActionMaskForPoint:?

时间:2015-09-14 08:27:45

标签: swift webview

    override func webView(sender: WebView!, dragSourceActionMaskForPoint point: NSPoint) -> Int {
        return WebDragSourceAction.Any
    }

这将导致错误 WebDragSourceAction is not convertible to Int

我想也许我可以用WebDragSourceAction.Any.rawValue来解决这个问题,但这也不行。

1 个答案:

答案 0 :(得分:1)

我也偶然发现了这个问题。我所做的是查找Obj-C枚举并复制return中的定义值:

func webView(webView: WebView!, dragSourceActionMaskForPoint point: NSPoint) -> Int
{
    return 0 // for WebDragSourceAction.None
}

这些常量有定义:

typedef NS_OPTIONS(NSUInteger, WebDragDestinationAction) {
    WebDragDestinationActionNone    = 0,
    WebDragDestinationActionDHTML   = 1,
    WebDragDestinationActionEdit    = 2,
    WebDragDestinationActionLoad    = 4,
    WebDragDestinationActionAny     = UINT_MAX
};

typedef NS_OPTIONS(NSUInteger, WebDragSourceAction) {
    WebDragSourceActionNone         = 0,
    WebDragSourceActionDHTML        = 1,
    WebDragSourceActionImage        = 2,
    WebDragSourceActionLink         = 4,
    WebDragSourceActionSelection    = 8,
    WebDragSourceActionAny          = UINT_MAX
};

我知道这是一种解决方法,但我认为没有其他方法可以解决它。