SDWebImage 大家应该都用过吧?加载 jpg、png 啥的确实好用,但一碰到 SVG 就抓瞎了,之前项目里有一堆 SVG 图标,每次都得单独处理,麻烦得很。
SDWebImageSVGCoder 这个插件装上之后,SVG 也能像普通图片一样加载了,完全用地 Apple 原生框架,没有乱七八糟的依赖,集成起来也简单:
// 注册下 SVG 解码器就行
SDImageCodersManager.shared.addCoder(SDImageSVGCoder.shared())
// 然后就能直接加载 SVG 了
imageView.sd_setImage(with: URL(string: "https://example.com/icon.svg"))
// 还能自定义大小
let svgCoder = SDImageSVGCoder(size: CGSize(width: 100, height: 100))
imageView.sd_setImage(
with: svgURL,
placeholderImage: nil,
options: [],
context: [.imageCoder: svgCoder]
)
