NSImageViewl突出显示/选择

时间:2016-06-27 10:20:57

标签: macos nsimageview

(在10.11.5上使用Xcode 8b0,但问题也发生在7.3下)

我的应用程序使用NSColorWell和两个NSImageWells来允许用户设置背景(颜色,图像,图案)。 colourWell表现得很好。两个图像井没有:如果你单击一个,它将被选中,并且不可能取消选择两者(如果我使用colourWell,这就是我想要的。)

NSImageView没有停用或取消选择方法。即使imageWell明确标记为已选中,也是高亮显示为假;在imageWell或其单元格上设置突出显示没有视觉效果。

即使在重新启动应用程序之间,选择的内存仍然存在,这让我觉得它必须以某种方式存储在故事板中,只有我无法确定哪个属性负责(我已经阅读了NSImageView和NSControl的文档)没有运气)。

通过采用一种荒谬的舞蹈来禁用并按特定顺序启用我的图像井(您需要启用您想要首先显示的那个)与子类化NSImageView结合以覆盖“鼠标下降”。因此它会发送一个我捕获的通知来触发imageWell的动作我已经得到了我想要的行为,但我真的很感激这样做的一种更简单的方法,因为'启用/禁用特定顺序的控件&#39 ;感觉就像一个黑客。 (所以,唉,感觉添加了适当的拖放支持到NSButton;我真的喜欢' drop image,具有后台更改功能)。

是谁或是什么导致我的NSImageViews被突出显示,我如何控制这种行为?

Screenshot illustrating unwanted highlight

1 个答案:

答案 0 :(得分:0)

答案是,这不是一个亮点,这就是设置为突出显示为false的原因。 NSImageView有一个名为allowsCutCopyPaste的属性 - 如果设置为' true',imageWell - 或当前有效的imageWell(如果您有多个)将显示此'突出显示&# 39 ;.