Skip to content

Instantly share code, notes, and snippets.

@ozgurshn
Created June 29, 2020 07:24
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ozgurshn/c816a035ff4722dc26650f4a4ed40105 to your computer and use it in GitHub Desktop.
Save ozgurshn/c816a035ff4722dc26650f4a4ed40105 to your computer and use it in GitHub Desktop.
Using SVGKit in Swift UI
import SwiftUI
import SVGKit
struct SVGKFastImageViewSUI:UIViewRepresentable
{
@Binding var url:URL
@Binding var size:CGSize
func makeUIView(context: Context) -> SVGKFastImageView {
// let url = url
// let data = try? Data(contentsOf: url)
let svgImage = SVGKImage(contentsOf: url)
return SVGKFastImageView(svgkImage: svgImage ?? SVGKImage())
}
func updateUIView(_ uiView: SVGKFastImageView, context: Context) {
uiView.image = SVGKImage(contentsOf: url)
uiView.image.size = size
}
}
struct SVGImage_Previews: PreviewProvider {
static var previews: some View {
SVGKFastImageViewSUI(url: .constant(URL(string:"https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/android.svg")!), size: .constant(CGSize(100,100)))
}
}
@fadeev-vitaliy
Copy link

This downloads image from url every update

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment