我是iOS的新手,我试图在我的应用程序中使用SVGKit来呈现svg文件。我想从URL加载svg文件,但是我无法做到这一点。我得到以下错误:
线程1: EXC_BAD_Access (代码= 2,地址=0x0)
在下面一行上: SVGDocument.m文件中的NSLog(@"[%@] SVGKit Parse error: %@", [self class], *error);。我尝试通过使用已经存在的SVGPad示例来实现从URL加载文件,该示例工作良好,加载图片,而不是从URL加载图片。我使用这段代码从URL加载图片:
NSString *urlString = [NSString stringWithFormat:@"http://upload.wikimedia.org/wikipedia/commons/6/66/Blank_Map-Africa.svg"];
NSURL *url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
SVGDocument* svgDocument = [SVGDocument documentFromURL:url];
self.contentView = [[[SVGView alloc] initWithDocument:svgDocument] autorelease];此外,我尝试创建和我的简单应用程序,它只从本地文件加载10张简单的图片,方法是使用以下代码:
SecondViewController *vc = [[SecondViewController alloc] init];
NSString* svgFilename = [@"/Users/XCode Projects/SVGLink/Beastie" stringByAppendingPathExtension:@"svg"];
SVGDocument *svgDocument = [SVGDocument documentWithContentsOfFile:svgFilename];
vc.view = [[SVGView alloc] initWithDocument:svgDocument];
[self.window setRootViewController:vc];我得到的只有这个错误: SVGDocument调试信息:设置文档viewBox ={0,0},{340.961,377.75}}
有人能解释一下我在哪里出错吗?
我使用了以下版本的SVGKit:https://github.com/SVGKit/SVGKit/
谢谢你,莉莉
编辑:
这个SVG版本https://github.com/meric/SVGKit在从url链接加载.svg文件时功能非常好,但是我仍然从这个文件中得到解析错误,比如脚本和其他无法识别的东西。UIWebView中的同一个文件显示得很完美。我想要迁移到SVG解析器的唯一原因是,在旋转时,UIWebView和SVG图会向下移动几步,而我找不到修复该问题的方法。
发布于 2012-09-04 16:35:30
PocketSVG将允许您显示和操作SVG文件的行。
PocketSVG *myBezier = [[PocketSVG alloc] initFromSVGFileNamed:@"BezierCurve1-iPad"];
UIBezierPath *myPath = myBezier.bezier;
CAShapeLayer *myShapeLayer = [CAShapeLayer layer];
myShapeLayer.path = myPath.CGPath;
[self.view.layer addSublayer:myShapeLayer];https://stackoverflow.com/questions/12212332
复制相似问题