2012-08-27 84 views
3

我必須在iOS項目中創建必須打開.svg擴展名文件的視圖。 我對這個.SVG擴展如何在iOS中打開.svg文件?

  1. 有些懷疑我們能不能直接在iOS的開放的.svf文件中像png格式或任何其他圖像?
  2. 或者我們必須使用任何不同的東西來打開這個文件。

回答

5

您無法將.svg作爲圖像加載,但您可以加載一個帶有SVG作爲內容的UIWebView,因爲iOS瀏覽器可以呈現SVG。

也看到這些問題:How to render SVG images in iphone without uiwebview?How can I load vector image directly with iPhone SDK?how to render all kind of svg files in iphone?

+0

非常感謝.....如果你有演示這種類型的任務。請與我分享。 – Nishi

+0

如果你覺得這個問題是重複的,請不要將鏈接發佈到其他StackOverflow文章作爲答案(這個答案在LQ評論隊列中)。 – JAL

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]; 
+1

我打算給這個+1,但由於PocketSVG只處理一條路徑的SVG,所以我暫時不打算這樣做。 –

+0

@GordonDove這有點荒謬。我很確定我的帖子回答OP的問題*和*提出了一個很好的方法來解決這個問題。但是,嘿,我非常抱歉,免費的開源庫不會爲您完成所有工作......更具建設性的一點是,您如何將對多路徑SVG的支持添加到PocketSVG並提交請求? – Eric

1

要完成這個答案,現在SVGKit處理全SVG文件,並將其呈現爲圖像。

您還可以操作路徑並捕獲觸摸的路徑。

希望這會有所幫助