2016-03-19 7 views
0

Ich verwende Xcode 7.2.1 und verwende Storyboards. Ich habe einen "Bild-Button" zu meinem Storyboard hinzugefügt und das Bild im Attribute-Inspektor festgelegt. Ich habe dann eine Steckdose und eine Aktion für die Schaltfläche in meinem Code erstellt.Bild für NSButton mit Swift Code ändern

Wenn ich den Knopf drücke, möchte ich sein Bild ändern. In Swift für iOS würde ich dies tun:

myButtonOutlet.setImage(UIImage(named: "[email protected]"), forState: UIControlState.Normal) 

ich dies für OS X Swift versucht:

myButtonOutlet.image(NSImage(named: "[email protected]")) 

Wie kann ich das Bild meiner Taste von Swift (OS X) ändern?

Antwort

2

Sie können das image Eigenschaft auf NSImage wie folgt aus:

myButton.image = NSImage(named: "[email protected]") 

Im Gegensatz zu iOS es nicht setImage() Methode

+0

Ich halte den Fehler für diese Lösung immer: „Kann nicht Wert vom Typ‚String‘zu erwarteten Argumenttyp‚NSImage.Name konvertieren“. Ich habe dies gelöst, indem ich: myButton.image = NSImage (mit dem Namen: NSImage.Name ("Dateiname")) iOS verwendet dies: myButton.image = UIImage (mit dem Namen: "Dateiname.png") – Repose

0

Die Methode, mit @brimstone verwenden muss nicht auf macOS für mich arbeiten. Ich laufe Swift 4.

Wenn Sie Ihre Bilder Assets.xcassets hinzugefügt, dann sollte diese Arbeit (keine Dateierweiterung!):

myButton.image = NSImage(named: NSImage.Name("[email protected]")) 

Und wenn Sie nur die Bilder, um Ihren Hauptordner importiert, dann Dateierweiterung mit dem Dateinamen.

p.s. Für iOS Verwendung:

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