使用代码(不是“接口”构建器)我需要创建一个看起来像图像的NSButton
。具体来说,我想使用NSImageNameStopProgressFreestandingTemplate
,我需要它看起来不像按钮,但看起来像图像。这意味着:
1.没有'按下'的样子
2.没有边框,按钮没有任何可见性
谢谢。
我知道这个反应有点晚了,但你可以试试这个,给出thisButton
:
[thisButton setImage:[NSImage imageNamed:NSImageNameStopProgressFreestandingTemplate]];
[thisButton setImagePosition:NSImageOnly];
[thisButton setBordered:NO];
最后一行是关键点:删除按钮边框有效地剥离它的边框,只留下图像点击。 (顺便说一下,我没有特别试过上面的代码,所以你可能需要进行一些其他调整,例如设置imageScaling
或buttonType
,以使其发挥最佳效果。)
最后一点说明:如果您正在使用模板图像(正如您所说的那样),Cocoa会自动显示一个带有浅灰色渐变的图像;单击按钮时,它会瞬间变暗为纯黑色。这是一个你不想要的自动“'按钮'外观”;然而,它非常微妙,并且是按钮工作的良好指示。如果您不希望这种情况发生,您可以在其上获得所需图像和[stopImage setTemplate:NO];
的实例。
禁用isBordered
let button = NSButton(
image: NSImage(named: NSImage.Name("plus"))!,
target: self,
action: #selector(onButtonPress)
)
button.isBordered = false