我想从 URL 显示 SVG 图像,我正在使用 SDWebImageSVGCoder,但它无法显示我的图像,但是当我用另一张图像更改图像时,它会正确显示。
我的图像网址是:mySVG
let svgURL = URL(string: element.logoURL)!
cell.imgView.sd_setImage(with: svgURL) { (image, _, _, _) in
if let img = image {
cell.imgView.image = img
}
}
iOS 不直接支持 SVG。您需要一个外部框架,例如 SwiftSVG
可可足类:
pod 'SwiftSVG', '~> 2.0'
代码:
let svgURL = URL(string: "https://www.sharjahairport.ae/social/svg/ABY.svg")!
let svgView = UIView(SVGURL: svgURL) { (svgLayer) in
svgLayer.resizeToFit(yourView.bounds)
}
// yourView is a UIView instead of a UIImageView
yourView.addSubview(svgView)
要将 SVG 图像支持添加到现有的 SDWebImage 设置中,请按照以下步骤操作:
更新您的 Podfile 以包含 SDWebImageSVGCoder 插件:
# Existing dependency
pod 'SDWebImage'
# Add this for SVG support
pod 'SDWebImageSVGCoder'
在您的应用程序中注册 SVG 编码器(例如,在 AppDelegate 中或初始化设置的位置):
// Register the SVG coder
let SVGCoder = SDImageSVGCoder.shared
SDImageCodersManager.shared.addCoder(SVGCoder)
照常使用 SDWebImage 将图像加载到 UIImageView 中。该库现在将无缝处理 SVG 图像:
imageView.sd_setImage(with: URL(string: "your_SVG_URL"))