2017-06-14 3 views
2

私はswift 4とXcode 9を使用していますが、ドラッグアンドドロップの実装に問題があります。私はドロップのためのカスタム '目的地'ビューを持っていて、迅速に3私はMac OSのswift 4を使用したドラッグ&ドロップ

register(forDraggedTypes: Array(NSURLPboardType)) 

これらのタイプを含むドラッグを受け入れるようにしてください。 私はこのような何かを迅速な4でどうやって行うことができますか? は、今私は、このコード

registerForDraggedTypes([.pdf]) 

を持っていると私は、私の見解でPDFファイルをドロップすると、誰NSDraggingDestinationメソッドを呼び出しません。 (私のカスタムビューが上に座っている)

答えて

4

だから私の同僚は、このように、迅速な4にあなたがドラッグ&ドロップのための文字列としてキャストkUTTypesを使用する必要があり、この問題の解決策を見つけた:これにより

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

すべてのNSDraggingDestinationメソッドがうまく動作するコードを作成すると、ビュー内の任意のファイルをファインダから削除できます。

+0

'' kutTypeFileURL as String'の代わりに '' public.file-url "'を使うことができます。 –

+0

'' public.item "'ではなく '' kUTTypeItem as String'' –

関連する問題