我有一個UIBarButton在我的導航欄,我的圖像(silhouette.png)從故事板設置爲它,我可以隨意改變圖像的色調(顏色):不能修改UIBarButton tintColor
if let num2 = Int(s, radix: 16) { //s="00ff00"
flamingoBtn.tintColor = UIColor(netHex:num2) //this btn is an IBoutlet
}
然而,在某些時候我換另一張圖片(的icon.png)原始圖像,編程,所以我並不需要改變色調在這種情況下,到目前爲止好:
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")
}
}
問題當我切換到圖標圖像到原始的silhouette.png時,我無法修改任何色調手指,它始終保持藍色silhoute(默認顏色),而不是綠色,紅色等:
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
我在做什麼錯,爲什麼色調變化之後igonred? 如果你需要額外的細節讓我知道。
您是否嘗試存儲對該按鈕的引用,並在設置並呈現後,更改該點的色調顏色? – sschale