如何在iPhone上渲染SVG图像而不使用UIWebView?

17
我想在 iPhone 上渲染 SVG 图像而不使用 UIWebView。我该怎么做?
我已经查看了这两个链接:http://www.splashdust.net/2010/09/svgquartzrenderer-a-basic-iphone-sdk-compatible-svg-renderer/https://github.com/splashdust/SVGQuartzRenderer。但是 Github 上的项目显示了 102 个错误,缺少 UIKit 框架等,我也无法添加该框架。我认为该应用程序适用于 MacOS 而不是 iOS。
此外,http://maniacdev.com/2011/05/open-source-library-to-render-svg-graphics-as-core-animation-layers/https://github.com/mattrajca/SVGKit 的项目也出现了错误。
有人知道如何解决吗?或者是否有其他可以在 iPhone 上使用的有效示例?我想要渲染 SVG。更新:我已经通过阅读说明使 SVGKit 工作。但是,当我尝试让我从 GitHub(https://github.com/splashdust/SVGQuartzRenderer)下载的项目工作时,出现以下错误:1)UIKit/UIKit.h:没有这样的文件或目录(我无法使用“添加现有框架”添加它)2)Libxml/tree.h:没有这样的文件或目录3)在'xmlParserCtxtPtr'之前需要指定符号限定列表。有人知道如何解决这个问题并使其正常工作吗?

3个回答

20
Jason Morrissey是非常出色的Alien Blue应用程序的作者,这是商店上最好的iOS Reddit客户端(你能告诉我我是一个粉丝吗?我也是一个beta测试人员)。最近他发布了SVGKit框架,该框架将SVG图像呈现为核心动画层。我没有使用过它,但我知道它的存在。
然后,看看...如果您在引入其他人的类时只是遇到了很多错误,那么我强烈怀疑您没有按照他们的“使用说明”进行操作。他们大多会告诉您需要哪些框架以及支持哪些平台。每次我尝试使用这样的东西并遇到编译血案时,我都会回去找到我错过的一些安装说明步骤。

6
我刚刚成功编译了SVGFlashRenderer。 对于iOS,您需要从SVGRendererTouch目录中打开项目。 并且不要忘记从GitHub单独下载lib / MROGeometry目录的内容(只需按照源树中的链接)。
附言:对我而言,最好的工作解决方案是SVGKit,但不是来自Jason Morissey的版本(在另一个答案中提到),而是 reklis的fork。 它修复了许多错误,并以更加正确的方式工作。

0

这很容易。

SVGKImage *svgImg = [SVGKImage imageNamed:@"add-control-panel"];
SVGKFastImageView *imgView = [[SVGKFastImageView alloc] initWithFrame:CGRectMake(10, 100, 420, 280)];
imgView.image = svgImg;
[self.view addSubview:imgView];

SVGKImage因某些原因仅加载一个图像。SVGKImage未获取另一幅图像。 - Deepak Thakur

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