繁体   English   中英

如何在没有 uiwebview 的 iphone 中渲染 SVG 图像?

[英]How to render SVG images in iphone without uiwebview?

我想在不使用 UIWebView 的情况下在 iPhone 中渲染 SVG 图像。 我怎样才能做到这一点?

我检查了这两个链接:

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

上述 url 上的项目在我构建项目时显示错误。

Target 指定产品类型“com.apple.product-type.framework”,但“iPhoneOS”平台没有此类产品类型。

有谁知道如何解决这个问题? 或者我可以使用的其他有用的工作示例? 我想在 iPhone 上渲染 SVG。

更新:我已经通过阅读说明来工作 SVGKit。 但是,当我尝试使我从 Github ( https://github.com/splashdust/SVGQuartzRenderer )下载的项目工作时,出现以下错误:

1)UIKit/UIKit.h:没有这样的文件或目录(我无法使用添加现有框架添加它)
2)Libxml/tree.h:没有这样的文件或目录
3) 'xmlParserCtxtPtr' 之前的预期说明符限定符列表。 有谁知道如何解决它并使其工作?

Jason Morrissey,非常优秀的 Alien Blue 应用程序的作者,商店中最好的 iOS Reddit 客户端(你能告诉我我是粉丝吗?我也是 beta 测试者。)最近提出了他的SVGKit框架,它呈现 SVG 图像作为核心 Animation 层。 我没用过,但我知道它存在。

然后,看......如果你在引入其他人的课程时遇到很多错误,我强烈怀疑你没有遵循他们的“如何使用”说明。 他们主要会告诉您需要哪些框架以及它们支持哪些平台。 每次我尝试使用这样的东西并进行编译时,我都会返回并找到一些我错过的安装说明步骤。

我刚刚设法编译了 SVGFlashRenderer。 对于 iOS,您需要从目录 SVGRendererTouch 打开项目。 并且不要忘记从 github 单独下载 lib/MROGeometry 目录的内容(只需点击源代码树中的链接)。

PS 对我来说,最好的解决方案是 SVGKit,但不是 Jason Morissey 的版本(在另一个答案中提到),而是reklis 的一个分支 它修复了许多错误并以更正确的方式工作。

这很简单。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM