import SwiftUI import WebKit struct SVGImage: UIViewRepresentable { let svgName: String func makeUIView(context: Context) -> WKWebView { let webView = WKWebView() webView.isOpaque = false webView.backgroundColor = .clear webView.scrollView.isScrollEnabled = false webView.scrollView.contentInsetAdjustmentBehavior = .never if let url = Bundle.main.url(forResource: svgName, withExtension: "svg") { let htmlString = """
""" webView.loadHTMLString(htmlString, baseURL: nil) } return webView } func updateUIView(_ uiView: WKWebView, context: Context) {} } // MARK: - View Modifier for SVG Image struct SVGImageModifier: ViewModifier { let size: CGSize func body(content: Content) -> some View { content .frame(width: size.width, height: size.height) .aspectRatio(contentMode: .fit) } } extension View { func svgImageStyle(size: CGSize) -> some View { self.modifier(SVGImageModifier(size: size)) } } // Usage: // SVGImage(svgName: "Avatar")