0

SDWebImageを使用して API から画像を取得しています。代わりに を作成し、IBOutletusing関数 をフェッチします。これは、画像をクリックするたびに新しい画像に置き換え続ける必要があります。問題は、新しい画像をクリックすると、この新しい画像が既存の画像に重なってしまうことです。古いイメージを置き換えるものではありません。私の質問は、関数が常にこのように機能するか、それとも私がやっている方法に問題があるかということです。imageviewimageview programaticallywebimagedownloadImage(with url: URL)imageviewdownloadimage

if (vtype[i] == "OtherView") && (cattypelink == "Image")
{
    print("i is \(i)")
    imagestrng = demoarray[i]
    self.imgtag = i
    self.tag = self.imgtag
    print("imagestring is sswqqwqew \(imagestrng)")
    let actualURL = URL(string: imagestrng)
    self.downloadImage(with: actualURL!)
}    
func downloadImage(with url:URL) {
    print("inside download image")
    SDWebImageManager.shared().downloadImage(with: url, options: SDWebImageOptions(rawValue: 0), progress: nil) { (image, _, _, _, _) in
        if let _ = image {
            print("image downloaded")
             if self.tag == self.imgtag
             {
              var finalimage: UIImage = image!
              print("finalimage is \(finalimage)")
              self.othersimg = UIImageView(frame: self.oview.frame)
              self.othersimg?.image = nil
              self.othersimg?.image = finalimage
              self.oview = UIView(frame: CGRect(x:0,y:0,width:self.sigeImg.width,height:self.sigeImg.height))
              self.mainview.addSubview(self.oview)
              self.oview.addSubview(self.othersimg!)
              self.othersimg?.tag = self.imgtag
              print("othersimg is \(self.othersimg?.tag)")
            }
            else
             {
              print("nothing")
              }
        }
        else {
            print("not downloaded '")
            // Try to download again (optional)
            self.downloadImage(with: url)
        }
    }
}
4

0 に答える 0