如何初始化图像按钮?

How to initialize an image button?

再次希望有人能向我解释一个可能很基本的问题。我设置了一个像这样的 imagabutton:

class overviewImageButton: NSButton {

    override func draw(_ dirtyRect: NSRect) {
        super.draw(dirtyRect)

        self.image = NSImage(named: "buttonImage.png")

    }
}

现在,如果我启动应用程序,图像不会从一开始就显示。按下(空)按钮,显示图像。 有人知道如何初始化按钮以从头开始显示图像吗?

非常感谢!

问题是您将此代码放在按钮的绘制函数中,因此直到那个时候它才会发生。如果你希望某件事从一开始就是真的,你应该把它放在对象的构造函数中,所以图像代码应该放在一个名为 override init().

的函数中

大概应该是这样的:

override init() {
    self.image = NSImage(named: "buttonImage.png")
}