I have a SVG Data downloaded from Internet in SVG format.
<svg viewBox="0 0 600 450" xmlns="http://www.w3.org/2000/svg"><rect x="0" y="0" width="600" height="450" fill="#E9F0FC"></rect><g transform="translate(0,410)" fill="none" font-size="10" font-family="sans-serif" text-anchor="middle" style="font-size: 8px;"><g opacity="1" transform="translate(49.5,0)"><text fill="currentColor" ...
And I have a UIImageView
where I would like to show picture from this data.
I was looking for some tutorials, but most of them are outdated or for objective-c.
I tried this
SVGImageView.image = UIImage(data: svgData)
But it says that I can't convert String
to Data
CodePudding user response:
You can use SVGKit for example.
Install it using CocoaPods.
pod 'SVGKit'
Use it like this:
let svgImage = SVGKImage(data: yourSVGData) testImage.image = svgImage.UIImage
The framework also allows to init an SVGKImage from other different sources, for example it can download image for you when you provide it with URL.
CodePudding user response:
Until Xcode 13.x you couldn't load SVG images natively. So the solution is using a third party like SVGKit. Using Xcode 14.x you can use Image("name") on SwiftUI. But, IMO, no good support yet. Frame view modifier doesn't apply over a SVG Graph...