3

いくつかのファイルを表示 するNSCollectionViewがあります。ここに画像の説明を入力してください

私が欲しいのは...

  1. 1つのファイルを選択できる。
  2. このファイルをドラッグして、デスクトップまたは別のFinderウィンドウにドロップできます。

ファイルアイコンはNSImageViewによって表示されます。

そのような機能を提供するための良いアプローチは何でしょうか?

どうもありがとう!

4

1 に答える 1

2

コレクションビューを呼び出しdeclareTypes:owner:て、ドラッグできるようにするペーストボードタイプを渡す必要があります。あなたの場合、あなたは欲しいですNSURLPboardType

次に行う必要があるのは、のデリゲートに3つのドラッグ関連NSCollectionViewデリゲートメソッドを実装することだけです。

YESこのメソッドから戻る必要があります。

collectionView:canDragItemsAtIndexes:withEvent:

このメソッドを使用して、各アイテムのカスタムドラッグ画像を返すことができます。

collectionView:draggingImageForItemsAtIndexes:withEvent:offset:

そして、次の方法を使用して、アイテムをペーストボードに書き込みます。

collectionView:writeItemsAtIndexes:toPasteboard:

あなたの場合、このメソッドの実装では、ドラッグされたアイテムのURLをペーストボードに書き込みます。

ペーストボードの操作方法がわからない場合は、ガイドのドラッグアンドドロッププログラミングトピックをお読みください。

于 2012-03-19T00:05:28.543 に答える