使用Swift代码更改NSButton的图像

时间:2016-03-19 20:16:46

标签: swift macos cocoa nsbutton

我正在运行Xcode 7.2.1而我正在使用故事板。我在故事板中添加了一个“图像按钮”,并在属性检查器中设置了图像。然后,我在代码中为按钮创建了一个插座和操作。

当我按下按钮时,我希望其图像发生变化。在Swift for iOS中我会这样做:

myButtonOutlet.setImage(UIImage(named: "Pressed-Button-Graphic@2x.png"), forState: UIControlState.Normal)

我试过OS X Swift:

myButtonOutlet.image(NSImage(named: "Pressed-Button-Graphic@2x.png"))

如何从Swift(OS X)更改我的按钮图像?

2 个答案:

答案 0 :(得分:3)

您可以在NSImage上设置image属性,如下所示:

myButton.image = NSImage(named: "Pressed-Button_Graphic@2x.png")

与iOS不同,它不需要使用setImage()方法

答案 1 :(得分:0)

@brimstone的方法在 macOS 上对我无效。我正在运行 Swift 4

如果您将图像添加到Assets.xcassets,那么这应该有效(没有文件扩展名!):

myButton.image = NSImage(named: NSImage.Name("Pressed-Button_Graphic@2x"))

如果您只是将图像导入主文件夹,则使用带文件名的文件扩展名。

P.S。对于 iOS ,请使用:

button.image = UIImage(named: "Picture.png")