2017-06-23 58 views
0

再次希望有人向我解釋一個可能的基本問題。從來就設置一個imagabutton這樣的:如何初始化圖像按鈕?

class overviewImageButton: NSButton { 

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

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

    } 
} 

現在,如果我啓動應用程序,圖像不從開始顯示。按(空)按鈕,圖像顯示出來。 有人知道如何初始化按鈕以顯示從開始的圖像?

非常感謝!

回答

1

問題是,你正在把這個代碼放在按鈕的函數繪製中,所以直到那個時候它才發生。如果你想從一開始就是真的,你應該把它放在對象的構造函數中,所以圖像代碼應該是一個名字爲override init()的函數。

這也許應該是這樣的:

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

好的,謝謝。你能告訴我代碼應該怎麼樣嗎? –