我有2套图像。一组包含可拖动的组,另一组包含静态组。我已经为可拖动图像实现了拖放功能。这是因为需要将图像拖动到包含匹配项的静态图像。现在将拖动的图像放在静态图像上后,与它无关,因此我想禁用图像的用户交互(因为它仍然可以拖动)。
我已经探索了几个解决方案和SO问题here和there,但没有一个解决方案有帮助!
有人可以帮我解决如何删除NSImageView的拖动或用户交互吗?
提前感谢大家:)
答案 0 :(得分:1)
创建NSImageView的自定义类,并使用空定义
实现鼠标输入和鼠标退出方法答案 1 :(得分:0)
我认为最简单的解决方案是将NSView
子类化。您的自定义视图应该只包含要在其中绘制的图像变量。之后,您可以使用自定义视图代替默认的NSImageView,它将通过鼠标事件。
示例:
class ImageView: NSView {
var image: NSImage?
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
if let image = image {
image.draw(in: bounds)
}
}
}
请注意,目标图像将不成比例地缩放为您的ImageView
实例大小。