Finder からのファイルのドロップを受け入れるシンプルなアプリがあります。
3 つの異なるドラッグ タイプをサポートしたい:
- 動く
- コピー
- リンク (エイリアスを作成)
ドラッグ中に Alt+Cmd を押すと、通常、Finder はエイリアス (リンク) を作成します。ただし、その場合、私のアプリでdraggingEntered:
はフラグNSDragOperationLink
は設定されていません。
以下は、さまざまな修飾キーの組み合わせに対するさまざまなフラグです。
move (no keys): Private, Delete, Copy, Generic, Link, Move, All_Obsolete, Every
copy (Alt) : Copy, All_Obsolete, Every
link (Alt+Cmd): Copy, Generic, All_Obsolete, Every
最後のケースでは Link フラグが設定されていないことに注意してください。performDragOperation:
エイリアスを作成する必要があることをどのように伝えることができますか?
現在のイベントで修飾キーを確認する必要はありますか? ソースのドラッグ操作マスクを介してクリーンなソリューションが必要です...
10.8.5 および 10.9 でテスト済み。