我创建了一组图标,这些图标是透明的白色PNG:

我想做的是能把它们涂成其他颜色。如蓝色、灰色等。
我注意到“点击/点击”它们会自动变成灰色。所以我想我可以用水龙头或者它的正常状态把灰色变成任何我喜欢的东西:

实现这一目标的最佳途径是什么?
发布于 2014-11-27 05:36:02
以下代码将为按钮的正常状态设置色调颜色:
Swift 4及更新版本:
let origImage = UIImage(named: "imageName")
let tintedImage = origImage?.withRenderingMode(.alwaysTemplate)
btn.setImage(tintedImage, for: .normal)
btn.tintColor = .red当状态更改按钮时,您可以根据需要更改颜色。
旧版本
Swift 3:
let origImage = UIImage(named: "imageName")
let tintedImage = origImage?.withRenderingMode(.alwaysTemplate)
btn.setImage(tintedImage, forState: .normal)
btn.tintColor = .redColor有关Swift 2:请参阅修订历史。
发布于 2020-08-03 04:26:49
我找到了下面最简单的方法,
打开资产目录并选择图像,然后转到属性检查器,并将Render As更改为Template Image,如下所示

然后在按钮操作方法中添加下面的代码
yourButton.tintColor = .gray发布于 2019-10-21 12:05:38
Swift 4或5
extension UIButton{
func setImageTintColor(_ color: UIColor) {
let tintedImage = self.imageView?.image?.withRenderingMode(.alwaysTemplate)
self.setImage(tintedImage, for: .normal)
self.tintColor = color
}
}使用:
button.setImage(UIImage(named: "image_name"), for: .normal) // You can set image direct from Storyboard
button.setImageTintColor(UIColor.white)https://stackoverflow.com/questions/27163171
复制相似问题