【问题标题】:IOS Swift SDWebImage not encoding URL, how do I set an encoder for it?IOS Swift SDWebImage 不编码 URL,如何设置编码器?
【发布时间】:2019-12-18 13:37:25
【问题描述】:

我正在使用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?

【问题讨论】:

    标签: ios swift uiimageview encode sdwebimage


    【解决方案1】:

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

    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. 创建一个分支,添加一个公共属性,将 MR 推送到 SDWebImage 存储库

    【讨论】:

      猜你喜欢
      • 2023-03-06
      • 2011-04-03
      • 2019-01-06
      • 1970-01-01
      • 1970-01-01
      • 2011-12-26
      • 1970-01-01
      相关资源
      最近更新 更多