SVG字体(路径)相对容易转换为源代码。一旦你获得了这个,就可以非常简单地在不同的颜色、大小(iPhone/iPad)或分辨率(如retina)下呈现它们。
我在这里做到了这一点。那是针对一个较旧版本的FontAwesome,但可以直接用于您的应用程序(或升级到最新版本)。
如果您只需要更改图标的颜色,可能可以不使用SVG解决此问题。只需使用色调颜色即可。
创建一个模板图像:
let templateImage = UIImage(named: "bla_bla")?.withRenderingMode(.alwaysTemplate)
然后将其添加到按钮或图像视图中,并设置tintColor
:
button.setImage(templateImage, for: .normal)
button.setImage(templateImage, for: .highlighted)
button.tintColor = UIColor.blue
这个解决方案仅适用于单色图标!
此外,如果您想要 .svg 格式的图标,可以使用 WKWebView
,它非常快速,并且如果您只有有限数量的图标,不会造成额外负担。