我必须创建必须在 iOS 项目中打开 .svg 扩展文件的视图。我对这个 .svg 扩展名有一些疑问
- 我们可以直接在 iOS 中打开 .svf 文件,如 .png 或任何其他图像吗?
- 或者我们必须使用任何不同的东西来打开这个文件。
我必须创建必须在 iOS 项目中打开 .svg 扩展文件的视图。我对这个 .svg 扩展名有一些疑问
您不能将 .svg 作为图像加载,但您可以UIWebView
将 SVG 作为内容加载,因为 iOS 浏览器可以渲染 SVG。
另请参阅以下问题:How to render SVG images in iphone without uiwebview? ,如何使用 iPhone SDK 直接加载矢量图像?,如何在 iphone 中渲染各种 svg 文件?
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];
从 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