【问题标题】:Changing NSCollectionView dragging image while moving mouse around在移动鼠标时更改 NSCollectionView 拖动图像
【发布时间】:2014-10-12 16:53:13
【问题描述】:
我使用 NSCollectionView 作为工具箱(就像在 Xcode 的 Interface Builder 中一样)。将工具拖出集合视图时,我想将鼠标光标下的“拖动图像”更改为真实的工具图像。将 UI 项拖入用户画布时,它的行为应类似于 Interface Builder。 Es 预期,当我将鼠标移回集合视图时,它应该变回以前的图像。
我尝试了几种委托方法,但看不到在鼠标移动期间更改光标图像的方法。
有什么建议吗?
谢谢大家! :-)
问候,
乌尔夫
【问题讨论】:
标签:
macos
cocoa
drag-and-drop
nscollectionview
【解决方案1】:
创建 nscollectionview 的子类
-
覆盖
func beginDraggingSession(with items: [NSDraggingItem], event: NSEvent, source: NSDraggingSource) -> NSDraggingSession
使用 setDraggingFrame(_:contents:)
您可以从 event.locatoinInWindow 获取鼠标点(不要忘记转换为您的 collectionview 坐标)