在Mac OS上使用swift 4拖放

在Mac OS上使用swift 4拖放

问题描述:

我使用的是swift 4和Xcode 9,并且执行拖放操作时出现问题。我有一个自定义'目的地'视图滴和迅速3我打电话在Mac OS上使用swift 4拖放

register(forDraggedTypes: Array(NSURLPboardType)) 

接受包含这些类型的拖动。 我如何在swift 4中做这样的事情? 现在我有这样的代码

registerForDraggedTypes([.pdf]) 

没有人NSDraggingDestination方法,当我在我看来下降的PDF呼叫。 (我的自定义视图坐在顶部)

所以我的同事发现了这个问题的解决办法,你必须使用铸成字符串拖放kUTTypes,像这样快捷的4:

registerForDraggedTypes([NSPasteboard.PasteboardType(rawValue: kUTTypeFileURL as String), NSPasteboard.PasteboardType(rawValue: kUTTypeItem as String)]) 

有了这个代码所有NSDraggingDestination方法工作正常,你可以放下你的视图中的任何文件。

+0

您可以使用''public.file-url“'而不是'kUTTypeFileURL作为字符串'。 –

+0

'“public.item”'而不是'kUTTypeItem as String' –