在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方法工作正常,你可以放下你的视图中的任何文件。
您可以使用''public.file-url“'而不是'kUTTypeFileURL作为字符串'。 –
'“public.item”'而不是'kUTTypeItem as String' –