我只能上传.png文件到assets文件夹吗?.svg文件出现错误。我想把它用于Image()组件。
Image()
6jjcrrmo1#
您也可以在XCAssets中导入svg图像。转到XCAAssets,单击+按钮。Refer this image点击导入并选择svg image。现在要加载并显示该图像,请使用以下代码:
图片(uiImage:UIImage(名称:“imageName”)!)
vjrehmav2#
您可以使用Macaw来显示SVG:https://github.com/exyte/Macaw1)通过SPM将Package添加到项目中(标签0.9.5实际上不起作用,您需要使用master分支)2)将. svg文件移动到项目中,或者在Assets.xcassets中创建一个新的数据集,然后将svg文件添加到该数据集中。3)使用此代码:
struct MyView: View { var svgName: String var body: some View { SVGImage(svgName: self.svgName) .frame(width: 50, height: 550) } }
struct SVGImage: UIViewRepresentable { var svgName: String func makeUIView(context: Context) -> SVGView { let svgView = SVGView() svgView.backgroundColor = UIColor(white: 1.0, alpha: 0.0) // otherwise the background is black svgView.fileName = self.svgName svgView.contentMode = .scaleToFill return svgView } func updateUIView(_ uiView: SVGView, context: Context) { } }
blmhpbnm3#
我创建了一个简单的工具,它将SVG代码转换为SwiftUI的Shape对象。它目前非常有限(特别是它只支持直线和三次曲线,单路径SVG和填充一种颜色的形状),但您仍然可以将其用于简单的情况。下面是link to the tool和repository,如果您想贡献一下并使其支持所有SVG特性。
igetnqfo4#
您可以在资产目录中使用PDF格式的矢量(选择单一比例并在右侧的检查器中保留矢量数据)。你不能直接在资源目录中使用SVG,但是通过Xcode 11,你实际上可以将SVG用于符号。苹果有一个关于如何制作自己的SVG符号here的详细指南。
6g8kf2rb5#
您可以像在SwiftUI和XCode的最新版本中使用普通光栅图像一样使用svg图像。1.将相关的svg添加(拖放)到XCAAssets中。
SwiftUI
XCode
svg
1.考虑勾选Preserve Vector Data选项。1.将svg图像名称作为Image视图的name参数传递,它应该会呈现。
Preserve Vector Data
Image
name
5条答案
按热度按时间6jjcrrmo1#
您也可以在XCAssets中导入svg图像。转到XCAAssets,单击+按钮。Refer this image
点击导入并选择svg image。
现在要加载并显示该图像,请使用以下代码:
图片(uiImage:UIImage(名称:“imageName”)!)
vjrehmav2#
您可以使用Macaw来显示SVG:https://github.com/exyte/Macaw
1)通过SPM将Package添加到项目中(标签0.9.5实际上不起作用,您需要使用master分支)
2)将. svg文件移动到项目中,或者在Assets.xcassets中创建一个新的数据集,然后将svg文件添加到该数据集中。
3)使用此代码:
blmhpbnm3#
我创建了一个简单的工具,它将SVG代码转换为SwiftUI的Shape对象。它目前非常有限(特别是它只支持直线和三次曲线,单路径SVG和填充一种颜色的形状),但您仍然可以将其用于简单的情况。
下面是link to the tool和repository,如果您想贡献一下并使其支持所有SVG特性。
igetnqfo4#
您可以在资产目录中使用PDF格式的矢量(选择单一比例并在右侧的检查器中保留矢量数据)。你不能直接在资源目录中使用SVG,但是通过Xcode 11,你实际上可以将SVG用于符号。苹果有一个关于如何制作自己的SVG符号here的详细指南。
6g8kf2rb5#
您可以像在
SwiftUI
和XCode
的最新版本中使用普通光栅图像一样使用svg
图像。1.将相关的
svg
添加(拖放)到XCAAssets中。1.考虑勾选
Preserve Vector Data
选项。1.将svg图像名称作为
Image
视图的name
参数传递,它应该会呈现。