【问题标题】:How to render SVG images in iphone without uiwebview?如何在没有 uiwebview 的情况下在 iphone 中渲染 SVG 图像?
【发布时间】:2011-09-30 10:12:25
【问题描述】:

我想在不使用 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

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

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' 之前的预期说明符限定符列表。 有谁知道如何解决它并使其工作?

【问题讨论】:

    标签: iphone image uiimageview svg


    【解决方案1】:

    Jason Morrissey,非常出色的 Alien Blue 应用程序的作者,商店里最好的 iOS Reddit 客户端(你能说我是粉丝吗?我也是 beta 测试者。)最近发布了他的 SVGKit 框架,它将 SVG 图像渲染为核心动画层。我没用过,但我知道它存在。

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        这很容易。

        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 不会获取另一个图像。
        猜你喜欢
        • 2019-09-14
        • 2018-05-14
        • 2018-06-09
        • 1970-01-01
        • 1970-01-01
        • 2012-09-15
        • 1970-01-01
        • 1970-01-01
        • 2020-02-06
        相关资源
        最近更新 更多