我已经创建了一组透明的白色PNG图标:

在此处输入图像描述

我想做的是把它们染成其他 colored颜色 .例如蓝色、灰色等.

我注意到"点击/点击"会自动变为灰色.所以我想我可以用水龙头或它的正常状态将灰色变成我喜欢的任何 colored颜色 :

在此处输入图像描述

实现这一目标的最佳方式是什么?

推荐答案

以下代码将设置按钮正常状态的色调:

对于SWIFT 4和更高版本:

let origImage = UIImage(named: "imageName")
let tintedImage = origImage?.withRenderingMode(.alwaysTemplate)
btn.setImage(tintedImage, for: .normal)
btn.tintColor = .red

当按钮状态改变时,您可以根据需要更改色调 colored颜色 .


旧版本

对于SWIFT 3:

let origImage = UIImage(named: "imageName")
let tintedImage = origImage?.withRenderingMode(.alwaysTemplate)
btn.setImage(tintedImage, forState: .normal)
btn.tintColor = .redColor

对于SWIFT 2: 请参见修订历史记录.

Ios相关问答推荐

如何让AVAudio.installTap()每秒回调125次

Swift addtarget方法的默认参数不生效

(Flutter)获取图像从图像拾取器保存和加载问题

如何从ipad获取用户定义的设备名称,IOS版本应大于16在flutter

在带有可编码的SWIFT5中,可以轻松处理以美元符号开头的JSON密钥,例如$DATE";

使用 WebKit 加载 YouTube 视频时控制台中打印警告

错误地提取问题的答案选项

更改订单时如何保存商品的位置?

用溢出的长文本对齐 Flutter 中的行和列

一个 SwiftUI 视图中的多个垂直滚动视图

迁移到 UIKit 生命周期的应用程序不会调用 SceneDelegate

如何将 ImageView 放置在 UIView 的中心?

在 tableview 中下载图像缩略图时如何提高滚动性能

SwiftUI 视图 - viewDidLoad()?

Xcode 4.1 致命错误:自构建预编译头文件后修改了 stdlib

有没有办法在 xib 文件中的视图和顶部布局指南之间添加约束?

是否可以使用 sharedHTTPCookieStorage 为 UIWebView 手动设置 cookie?

测试目标 X 遇到错误(提前意外退出,操作从未完成 bootstrap - 不会try 重新启动

在 iOS 上没有显示数字键盘

在两个或多个 iPhone 应用程序之间共享数据