我有一个简单的应用程序,它接受从 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
请注意在最后一种情况下如何未设置链接标志。我怎么知道performDragOperation:
我需要创建一个别名?
我真的必须检查当前事件中的修饰键吗?我宁愿通过源拖动操作掩码获得一个干净的解决方案......
在 10.8.5 和 10.9 上测试。