我在应用程序的自定义日历视图中实现了drag-n-drop,它很好地为移动项目提供了支持。
但是,我想添加对复制项目的视觉支持。我已经在后端实现了这一点(当Option键被按下时),但我想用一个更上下文敏感的图标来补充这一功能。
我有一个根据事件创建的NSImage
,显示在我的日历中。这使得实际项目看起来像是被拖动了。(这很好!):
NSImage *i = ...;
...
[self dragImage:i at:thePoint offset:NSZeroSize event:theEvent pasteboard:pboard source:nil slideBack:NO];
但是,在用户按住Option键的情况下,我希望将"加号"或"复制"绿色加号图标叠加在NSImage
的顶部,这样很明显,放置会导致复制。
有什么简单的方法可以做到这一点吗?谢谢
您可以在视图中实现draggingEntered:
和/或draggingUpdated:
,并返回NSDragOperationCopy
以自动获得绿色加号图标。