我有一系列在 NSCollectionView 中展示的项目。选择和多选都启用。
用户可以通过拖动选择项目(即通过拖动标记项目)。但是,当用户开始从集合视图背景或项目之间的空间(而不是项目上)拖动时,这有效,但我希望在项目上开始拖动时也可以。
如果我们将文本和图像视为单个项目,我想要类似这张照片的东西。
图片来源: http: //osxdaily.com/2013/09/16/select-multiple-files-mac-os-x/
先感谢您。
我有一系列在 NSCollectionView 中展示的项目。选择和多选都启用。
用户可以通过拖动选择项目(即通过拖动标记项目)。但是,当用户开始从集合视图背景或项目之间的空间(而不是项目上)拖动时,这有效,但我希望在项目上开始拖动时也可以。
如果我们将文本和图像视为单个项目,我想要类似这张照片的东西。
图片来源: http: //osxdaily.com/2013/09/16/select-multiple-files-mac-os-x/
先感谢您。
在项目视图的类中实现hitTest(_:)
以使项目“透视”以进行点击。当用户在项目视图中单击时,返回集合视图而不是项目视图。
override func hitTest(_ point: NSPoint) -> NSView? {
var view = super.hitTest(point)
if view == self {
repeat {
view = view!.superview
} while view != nil && !(view is NSCollectionView)
}
return view;
}