2016-12-23 4 views
0

Wenn mein UIButton ausgewählt ist:Seltsam tintColor auf ausgewählte UIButton

 let image = UIImage(named: "photo-camera")?.imageWithRenderingMode(.AlwaysTemplate) 
    btnPhoto.setImage(image, forState: .Normal) 
    btnPhoto.tintColor = UIColor.orange() 

Wenn mein UIButton ist nicht ausgewählt:

let image = UIImage(named: "photo-camera")?.imageWithRenderingMode(.AlwaysTemplate) 
    btnPhoto.setImage(image, forState: .Normal) 
    btnPhoto.tintColor = UIColor.grayColor() 

Nun, meine Frage ist: wenn UIButton alles nicht ausgewählt ist fein angezeigt: enter image description here Stattdessen, wenn die UIButton ausgewählt ist, ist das Ergebnis: enter image description here

Die Tönungsfarbe ändert nicht das Bild, sondern den Hintergrund. Ich kann nicht verstehen warum.

+0

Sie möchten die Farbe Ihres Logos ändern, wenn es aktiviert ist? –

+0

Ja nur das Logo –

+0

Sie können eine Bildansicht oberhalb Ihrer Schaltfläche hinzufügen. – Khuong

Antwort

0

Legen Sie das Bild für den ausgewählten Status fest und legen Sie die zu löschende Farbtonfarbe fest.

0

Nehmen btnPhoto mit Typ benutzerdefinierte

let btnPhoto = UIButton(type: .Custom) 
let image = UIImage(named: "image_name")?.imageWithRenderingMode(.AlwaysTemplate) 
btnPhoto.setImage(image, forState: .Normal) 
btnPhoto.tintColor = UIColor.grayColor() 

btnPhoto.addTarget(self, action: “btntSelected:", forControlEvents: .TouchUpInside) 

func btnSelected(sender : UIButton) 
{ 
var btn:UIButton = sender 
btn.tintColor = UIColor.orange() 
}