2016-12-22 23 views
0

我試着通過設置渲染的圖標模式Template Image,然後通過調用的UIImageView tintColor色彩整體形象

iconView.tintColor = .blue 

問題設置顏色改變UIImageViewUICollectionViewCell內tintColor水龍頭後:這使用所選顏色填充整個圖像,而不是僅更改不透明部分。

這種方法在過去一直在爲我工作,我無法弄清楚問題所在。我認爲圖標可能有白色背景而不是透明背景,但事實並非如此。也許這跟在UICollectionViewCell之內有什麼關係?

幫助將不勝感激!

+0

使用它'iconView.tintColor = UIColor.blue' –

+0

一旦檢查了該圖像屬性的apple documetation,當tintColor非零時,圖像視圖上設置的任何模板圖像都將用該顏色着色。 –

+0

你可以在點擊後改變iconView.backgroundColor嗎?它只會改變透明部分的顏色 –

回答

1

試試這個

imageViewHome.image = UIImage.init(named: "yourImageName")?.withRenderingMode(.alwaysTemplate) 

imageView.tintColor = .blue 
+0

這與我的解決方案有何不同? – CAAnimationDelegate

+0

這是你的工作嗎? –

+0

不,因爲這與我使用的方法完全相同。唯一不同的是,您將其設置在代碼中,而我將其設置在資產目錄中。 – CAAnimationDelegate

-1

下面的代碼將顏色只有非透明區域。

yourImage.image = yourImage.image!.imageWithRenderingMode(UIImageRenderingMode.AlwaysTemplate) 
yourImage.tintColor = UIColor.redColor() 

快樂編碼。