2017-06-23 5 views
0

Ich hoffe wieder, dass jemand mir eine wahrscheinlich grundlegende Frage erklärt. Ive Setup ein imagabutton wie folgt aus:Wie initialisiert man eine Bildschaltfläche?

class overviewImageButton: NSButton { 

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

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

    } 
} 

Nun, wenn ich die Anwendung zu starten, wird das Bild nicht von Anfang an gezeigt. Durch Drücken der (leeren) Taste erscheint das Bild. Jemand weiß, wie man den Knopf initialisiert, um das Bild vom Anfang zu zeigen?

Vielen Dank!

Antwort

1

Das Problem besteht darin, dass Sie diesen Code in die Funktionszeichnung für die Schaltfläche einfügen, so dass sie bis zu diesem Zeitpunkt nicht auftritt. Wenn Sie möchten, dass etwas von Anfang an wahr ist, sollten Sie es in den Konstruktor des Objekts einfügen, so dass der Bildcode in einer Funktion mit dem Namen override init() sein sollte.

Es sollte wohl so etwas wie sein:

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

Ok, danke. Kannst du mir sagen, wie der Code sein sollte? –

Verwandte Themen