我只能将.png文件上传到 Assets 文件夹吗? .svg文件出现错误。
我想将其用于Image()组件

最佳答案

您可以使用Macaw来显示SVG:https://github.com/exyte/Macaw

1)通过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) {

    }

}

10-08 05:54