首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SVGKit:如何将一个.svg文件拆分成多个UIView?

SVGKit:如何将一个.svg文件拆分成多个UIView?
EN

Stack Overflow用户
提问于 2014-05-28 17:14:17
回答 1查看 378关注 0票数 0

如何使用.svg探索SVGKit文件?

我有问题将一个.svg文件分割成几个UIView

我试过的

以下是我迄今所做的工作。如果你对我该怎么做有任何线索,谢谢!

  1. 我创建了一个.svg文件。我给这两个物体中的一个取名"AAAA“。

  1. 我将.svg文件添加到我的项目中。
  2. 然后,我使用SVGKit来浏览我的.svg文件,并使用以下代码:

代码:

代码语言:javascript
复制
 SVGKImage* newImage = [SVGKImage imageNamed:@"Untitled-1"];

 NSString* tagToFind = @"AAAA";
 NodeList* result = [newImage.DOMDocument getElementsByTagName:tagToFind];

 for( Element* domElement in result )
 {
     SVGElement* svgElement = (SVGElement*) domElement;
 }

问题:

  1. .svg图像加载良好,我可以显示它。这才是可行的!!但是..。
  2. newImage.DOMDocument似乎没有反映实际的文档。以下是NSLog给出的内容

节点:#document (文档)值:(Null) @@0属性+0 x

  1. result数组为空。

备注

我用Illustrator创建了Illustrator,然后尝试添加关于Inkscape的信息。任何解决办法对我来说都是可以的。这是.png文件。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
     width="623.619px" height="481.89px" viewBox="0 0 623.619 481.89" enable-background="new 0 0 623.619 481.89"
     xml:space="preserve">
<g id="AAAA" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://creativecommons.org/ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" sodipodi:docname="Untitled-1.svg" inkscape:version="0.48.2 r9819">

        <rect id="AAAA_1_" x="482.945" y="43.653" fill="#FF0000" stroke="#000000" stroke-miterlimit="10" width="57.046" height="68.157"/>
</g>
<g id="BBBB_1_">
    <polygon id="BBBB" fill="#2824B3" stroke="#000000" stroke-miterlimit="10" points="579.31,259.945 532.676,261.485 
        507.507,300.775 491.632,256.898 446.488,245.101 483.31,216.445 480.578,169.865 519.213,196.03 562.667,179.039 549.722,223.867 
            "/>
</g>
</svg>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-28 18:02:37

正确的代码是

代码语言:javascript
复制
SVGKImage* newImage = [SVGKImage imageNamed:@"Untitled-1"];

NSString* tagToFind = @"BBBB";

Element* result = [newImage.DOMTree getElementById:tagToFind];
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23917935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档