4

私はiOSが初めてで、SVGKitを使用してアプリでsvgファイルをレンダリングしようとしています。URL から svg ファイルをロードしたいのですが、うまくいきませんでした。次のエラーが表示されます。

スレッド 1: EXC_BAD_Access (コード = 2、アドレス = 0x0)

次の行: NSLog(@"[%@] SVGKit Parse error: %@", [self class], *error);SVGDocument.m ファイル内。既存の 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] DEBUG INFO: set document 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 グラフが数ステップ下に移動し、それを修正する方法が見つからないためです。

4

1 に答える 1

2

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];
于 2012-09-04T16:35:30.293 に答える