【问题标题】:How to render all kinds of SVG files on iPhone?如何在 iPhone 上渲染各种 SVG 文件?
【发布时间】:2011-10-01 05:32:45
【问题描述】:

为了在 iPhone 上渲染 svg 文件,我从 GitHub 下载了一个项目 SVGQuartzRenderer 但它显示以下错误:

  1. UIKit/UIKit.h No such file or directory (我无法使用添加现有框架来添加它)
  2. Libxml/tree.h:No such file or directory
  3. Expected specifier-qualifier list before xmlParserCtxtPtr

有人知道我怎样才能使这个项目成功吗?

我还找到了另一个框架: SVGKit。 它适用于某些 SVG 文件,但不适用于所有文件。

是否可以在不使用UIWebView 的情况下在 iPhone 中渲染任何 SVG 文件,是否有任何教程或示例代码?

【问题讨论】:

  • 你在项目中添加了 UIKit 框架吗?转到项目设置、构建阶段、与框架链接并添加它。确保目标 SDK 是 iOS。
  • 如果您能提供一个 SVGKit 不呈现的 SVG 文件的示例,将会很有用。
  • 在测试这个文件时它只渲染一个圆圈 w3.org/2000/svg" width="10cm" height="10cm">
  • @night leopard: 添加uikit框架后显示 No such file or directory.我认为这是mac os的项目。但是在这个的说明页面上项目写它适用于iphone
  • @echo-flow 1)coveredincake.com/svgfiles/cupcakewrapper.svg 这个 url 的 svg 文件也不起作用它显示错误 2)www-archive.mozilla.org/projects/svg/lion.svg 而在这第二个错误图像中没有正确呈现

标签: iphone image svg image-processing uikit


【解决方案1】:

从 Xcode 12 开始,您可以在资产目录中添加 .svg 文件并执行以下操作:

let image = UIImage(named: "SomeSVGImage")

参考:https://developer.apple.com/documentation/xcode-release-notes/xcode-12-beta-release-notes

【讨论】:

  • 这是有效的。但是,请注意,对于 XCode 13.2(我猜是早期版本),如果您在资产中添加的 SVG 文件包含一些模糊元素,XCode 将 a)无法编译 b)当您尝试在资产中显示 SVG 图像时崩溃编辑器(尽管文件在编辑器中正确显示)。
猜你喜欢
  • 1970-01-01
  • 2011-01-20
  • 1970-01-01
  • 2013-01-29
  • 2011-05-07
  • 2016-11-15
  • 1970-01-01
  • 2021-12-19
  • 2022-01-17
相关资源
最近更新 更多