我正在使用swift 4和Xcode 9,我遇到了拖放实现的问题。我有一个自定义的'目标'视图用于drop和swift 3我打电话
register(forDraggedTypes: Array(NSURLPboardType))
接受包含这些类型的drags。 我如何在swift 4中做这样的事情? 现在我有了这段代码
registerForDraggedTypes([.pdf])
当我在视图中删除pdf时,没有一个NSDraggingDestination方法调用。 (我的自定义视图位于顶部)
答案 0 :(得分:6)
所以我的同事找到了这个问题的解决方案,在swift 4中你必须使用kUTTypes作为String进行拖放,如下所示:
registerForDraggedTypes([NSPasteboard.PasteboardType(rawValue: kUTTypeFileURL as String), NSPasteboard.PasteboardType(rawValue: kUTTypeItem as String)])
使用此代码,所有NSDraggingDestination方法都可以正常工作,您可以从视图中的finder中删除任何文件。