缺少WKWebView registerURLScheme?在高山脉

时间:2018-01-10 23:52:06

标签: swift drag-and-drop macos-high-sierra

所以在High Sierra上建立快速应用程序 - 没有拖累;似乎其他人对新的辅助功能感到遗憾 - >鼠标&触控板 - >跟踪选项 - >启用拖动;奇数未默认选项。

但无论如何,WebView文档页面显示了这个方法

class func registerURLScheme(asLocal scheme: String!)

对于High Sierra来说是新的,但WKWebView似乎没有类似的方法 - 它是继承人的继承者?我的应用程序坏了 - 基于WKWebView,并且我认为我需要注册各种方案,就像WebView一样 - 作为本地,因此它们将通过app bookmark ala sandbox支持来容纳。

在相关的(相同的)问题中:Adobe Air和High Sierra - 它也“破了,所以我觉得好一点。

1 个答案:

答案 0 :(得分:0)

看起来像High Sierra - 10.13。*,需要明确实现拖放操作 - re:NSDraggingDestination,你最低限度需要实现

override func draggingUpdated(_ sender: NSDraggingInfo) -> NSDragOperation {
    Swift.print("draggingUpdated -> .copy")
    return .copy
}

当然

override func performDragOperation(_ sender: NSDraggingInfo) -> Bool {
    return true
}

这些似乎是可选的,因为拖入我的视图只是上面触发指针更改的情感 - 我的试金石,但添加这些不会伤害。也许将来也会有更多需要。

override func draggingEntered(_ sender: NSDraggingInfo) -> NSDragOperation {
    Swift.print("draggingEntered -> .copy")
    return .copy
}
override func wantsPeriodicDraggingUpdates() -> Bool {
    Swift.print("wantsPeriodicDraggingUpdates -> true")
    return true
}
override func prepareForDragOperation(_ sender: NSDraggingInfo) -> Bool {
    Swift.print("prepareForDragOperation -> true")
    return true
}

由于强调安全性,随着安全性的提高,我们似乎开始在各种套件用法中变得更加明确。

我专注于我的应用程序的拖拽 - NSDraggingDestination,但对于来自应用程序的拖拽可能有类似的新要求 - NSDraggingSource。