4

我必须创建必须在 iOS 项目中打开 .svg 扩展文件的视图。我对这个 .svg 扩展名有一些疑问

  1. 我们可以直接在 iOS 中打开 .svf 文件,如 .png 或任何其他图像吗?
  2. 或者我们必须使用任何不同的东西来打开这个文件。
4

4 回答 4

5

您不能将 .svg 作为图像加载,但您可以UIWebView将 SVG 作为内容加载,因为 iOS 浏览器可以渲染 SVG。

另请参阅以下问题:How to render SVG images in iphone without uiwebview? ,如何使用 iPhone SDK 直接加载矢量图像?如何在 iphone 中渲染各种 svg 文件?

于 2012-08-27T05:39:49.033 回答
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:33:45.957 回答
1

为了完成这个答案,现在SVGKit处理完整的 SVG 文件并将它们渲染为图像。

您还可以操纵路径并捕获触摸路径。

希望这可以帮助

于 2014-05-26T14:44:41.440 回答
0

从 Xcode 12 开始,您可以在 Assets Catalog 中添加图像并执行此操作。

let image = UIImage(named: "SomeSVGImageInYourAssetsLibrary")

这可用于

macOS 10.15 或更高版本、iOS 13 或更高版本、iPadOS 13 或更高版本

参考:https ://developer.apple.com/documentation/xcode-release-notes/xcode-12-beta-release-notes

于 2020-06-23T19:27:18.387 回答