Ich habe eine UIBarButton in meiner Navigationsleiste, habe ich ein Bild (silhouette.png), um es aus dem Storyboard ändern, und ich kann das Bild der Farbton (Farbe) nach Belieben ändern:Kann nicht UIBarButton tintColor
if let num2 = Int(s, radix: 16) { //s="00ff00"
flamingoBtn.tintColor = UIColor(netHex:num2) //this btn is an IBoutlet
}
jedoch irgendwann ändere ich das Originalbild für eine anderes Bild (icon.png), programmatisch, so brauche ich nicht den Farbton in diesem Fall zu ändern, so weit, so gut:
if let url = NSURL(string: "http://www.123di.com/CanonSGLens_132.png") {
if let data = NSData(contentsOfURL: url) {
var newImgThumb : UIImage=UIImage(data: data)!
var iconBtn = UIButton(frame: CGRect(x: 0, y: 0, width: 35, height: 35))
iconBtn.setImage(newImgThumb, forState: UIControlState.Normal)
iconBtn.addTarget(self, action: "goToSettings:", forControlEvents: UIControlEvents.TouchUpInside)
var item = UIBarButtonItem(customView: iconBtn)
self.navigationItem.leftBarButtonItem = item
print("CUSTOM ICON: DOWNLOADED")
}
}
Das Problem kommt, wenn ich zum icon image auf die original silhouette.png umschalte, weil ich die tönung keine lo ändern kann nger, es bleibt immer blau silhoute (Standardfarbe), statt grün, rot, etc:
var newImgThumb : UIImage=UIImage(named: "happyface.png")!
var replyBtn = UIButton(frame: CGRect(x: 0, y: 0, width: 35, height: 35))
replyBtn.setImage(newImgThumb, forState: UIControlState.Normal)
replyBtn.addTarget(self, action: "goToSettings:", forControlEvents: UIControlEvents.TouchUpInside)
replyBtn.tintColor = UIColor.greenColor()
var item = UIBarButtonItem(customView: replyBtn)
item.tintColor = UIColor.greenColor()//UIColor(netHex:num2)
self.navigationItem.leftBarButtonItem = item
Was mache ich falsch, warum danach Farbton ändert igonred ?? Wenn Sie zusätzliche Informationen benötigen, lassen Sie es mich wissen.
Haben Sie versucht, einen Verweis auf den Button zu speichern und nachdem er gesetzt und präsentiert wird, die Farbe an diesem Punkt ändern? – sschale