在iOS应用中使用SVG或字体图标

6
在我的iOS应用程序中,我们需要根据用户配置更改图标的颜色。这是我们重要的业务选项之一。
我的一个朋友建议我使用 .svg 或字体图标。并分享了这个link
他们正在创建Web应用程序,而我正在开发iOS应用程序。iOS是否也支持这种技术?如果是,我该如何使用它?
编辑
我发现SVGKit可用于iPhone/iPad应用程序。是否有绑定库可供在Monotouch上使用?
3个回答

5

SVG字体(路径)相对容易转换为源代码。一旦你获得了这个,就可以非常简单地在不同的颜色、大小(iPhone/iPad)或分辨率(如retina)下呈现它们。

我在这里做到了这一点。那是针对一个较旧版本的FontAwesome,但可以直接用于您的应用程序(或升级到最新版本)。


据我所见,这是针对Mac的,我无法在Xamarin Studio和Monotouch中打开它。我的问题是关于在iOS应用程序中使用SVG。这可能吗? - Husein Behboudi Rad
我发现了这个https://github.com/SVGKit/SVGKit,似乎是用于在iPhone/iPad应用程序上使用的。有没有绑定库可以在Monotouch上使用它? - Husein Behboudi Rad
你没有看得够远。这里有一个 results 的iOS演示,但是从SVG到源代码的转换是在Mac(或Windows)上完成的,因为那里可以进行源代码的编译。https://github.com/spouliot/svgpath2code/tree/master/AwesomeDemo - poupou

0

0

如果您只需要更改图标的颜色,可能可以不使用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,它非常快速,并且如果您只有有限数量的图标,不会造成额外负担。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接