无法显示SVG图像

问题描述 投票:0回答:2

我想从 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 swift sdwebimage
2个回答
0
投票

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)

0
投票

要将 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"))
© www.soinside.com 2019 - 2024. All rights reserved.