2017-05-06 3 views
0

Ich bin zu schnell neu und ich habe verschiedene Plätze gesucht und konnte wirklich nichts hilfreiches finden.Wie man Bild auf Knopf einstellt

Ich bin in diesem Fall, dass ich von UIImagePickerController ein Bild auswählen, wenn sie auf die Taste drücken:

@IBAction func chooseImage(_ sender: Any){} 

, die funktioniert und ich kann die Foto-Bibliothek zugreifen und ein Bild auswählen, aber .. die Sache ist, dass Ich möchte es auf das Buttonbild einstellen. ich speichern Sie das Bild auf:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) 
{ 
    let image = info[UIImagePickerControllerOriginalImage] as! UIImage 

    // this works with an UIimageView.image but I can't get it to work with the button 

    ???.image = image 

Ich glaube, die Art und Weise, es zu tun zu sagen ist; button.ImageView.image = image und dies kann nur durch Erstellen einer Variablen namens UIButton! ?? und dann kann ich

button.ImageView.image = image 

sonst kann ich die Methode nicht geben ImageView.image

Aber die Sache ist, dass chooseImage die gleiche Taste, die ich für die Aktion, um das Bild zu empfangen ... So kann Ich mache beide einen @IBOutlet schwachen Var-Button: UIButton! und @IBAction auf dem gleichen Knopf ?? Nun habe ich versucht, und erstellt sowohl ein

@IBOutlet weak var button: UIButton! 

und

@IBAction func chooseImage(_ sender: Any) { 

button.imageView.image = image 
} 

aber nichts passiert Es könnte verwirrend klingen, aber es gibt zwei Fragen. Ist es möglich, es so zu machen? und wenn ja, warum ist nicht das Bild gezeigt wird, wenn

tut
button.imageView.image = image? 

und wenn nicht mir bitte sagen, was im falsch machen :-)

Dank!

Antwort

1
someButton.setImage(imagenew, for: .normal) 

Es gibt eine setImage Methode für UIButton ist. Sie können auch ein Bild als Hintergrundbild festlegen. Es gibt eine Methode namens setbackgroundImage.

+0

Ja, aber wie erreiche ich die setImage ?? kann ich eine @IBOutlet schwache var-Taste erstellen: UIButton! und IBAction func chooseImage (_ sender: Beliebig) { auf der gleichen Schaltfläche? – StrawHat

+0

@StrawHat ja, Sie können sowohl eine Steckdose und Aktion – Scriptable

+0

erstellen Dank! Ich habe es versucht und es hat etwas funktioniert, jetzt wo ich ein Bild gewählt habe. es zeigt alles Blau ... (das Knopfbild) ?? es wird nicht das richtige Bild eingestellt – StrawHat

0

versuchen diese

button.setImage(image, for: .normal) // Swift 3 
+0

es aber wie ich acces das SetImage ?? kann ich eine @IBOutlet -schwache var-Schaltfläche erstellen: UIButton! und IBAction func chooseImage (_ sender: Any) {auf derselben Schaltfläche? – StrawHat

+0

Danke! Ich habe es versucht und es hat etwas funktioniert, jetzt wo ich ein Bild gewählt habe. es zeigt alles Blau ... (das Knopfbild) ?? es wird nicht das richtige Bild eingestellt – StrawHat

+0

Überprüfen Sie diese Lösung, das wird Ihnen helfen. http://stackoverflow.com/questions/18133465/setting-uibutton-image-results-in-blue-button-in-ios-7 –

0

Verwenden setImage() Methode des Vordergrundbild eine Taste einzustellen. Allerdings, wenn Ihr alle Tasten sind blau, das ist, weil es eine Funktion für Bilder namens „Rendering-Modus“ Sie sollten sich bewusst sein, lesen Sie bitte Template Images für weitere Informationen:

button.setImage(image.withRenderingMode(.alwaysOriginal), for: .normal)