繁体   English   中英

IOS Swift SDWebImage 未编码 URL,如何为其设置编码器?

[英]IOS Swift SDWebImage not encoding URL, how do I set an encoder for it?

我正在使用SDWebImage从 URL 加载图像。

以下是我的代码:

    if let imageUrl = URL(string: carouselItem.imagesArray[0]) {
    itemImageView.sd_setImage (with: imageUrl,placeholderImage: UIImage(named: "ImagePlaceorder"))
    } else {
        itemImageView.image = UIImage(named: "ImagePlaceorder")

    }

图像未加载,因为 URL 中有空格。 我不想对每个单独的 URL 进行编码,我想为图像加载器本身设置一个编码器,以便 SDWebImage 在下载图像之前对 URL 进行编码。

如何将 URL 编码器设置为 SDWebImage?

由于他们没有这种可能性,因此您有几种方法可以解决它。

  1. 由于它们的方法是在 UIImageView 的扩展中声明的,因此您无法覆盖它们(Swift doc )。 但是您可以为子类执行此操作:
class ImageVIew: UIImageView {

    override open func sd_setImage(with url: URL?, placeholderImage placeholder: UIImage?, options: SDWebImageOptions = [], completed completedBlock: SDExternalCompletionBlock? = nil) {
        // Apply URL encoding
        super.sd_setImage(with: newURL, placeholderImage placeholder, options: options, completed: completedBlock)
    }

}
  1. 创建一个fork,添加一个公共属性,将MR推送到SDWebImage repo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM