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