gpt4 book ai didi

ios - collectionview 在 tableview 单元格内重复

转载 作者:行者123 更新时间:2023-11-28 15:20:06 30 4
gpt4 key购买 nike

我在 tablview 单元格内使用一个 Collection View ,其中 Collection View 单元格有一个 ImageView ,图像显示在 cellForItemAtIndexPath 中的 URL 数组中。我在 tableview 单元格类中调用 webservice 来获取 URL 数组。我的问题是,每当我向下或向上滚动 tableview 时,collectionview 单元格就会重复,collectionview 的图像也会 self 重复。那么如何摆脱这个。

我的代码如下-

网络服务的内部响应

let imgList : NSArray = arrReponseDetails.value(forKey: "imageList") as! NSArray
self.arrImgUrls.removeAll()
for dict in imgList[0] as! NSArray {
let dictionary = dict as! NSDictionary
let strUrl : String = dictionary["url_highRes"] as! String
let url : URL = URL(string: strUrl)!
self.arrImgUrls.append(url)
}
self.collectionView.reloadData()

cellForItemAtIndexPath 中的代码

let cell : CollectionCell =  collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionCell", for: indexPath) as! CollectionCell

let url : URL = self.arrImgUrls[indexPath.row]
cell.imgSticker.sd_setShowActivityIndicatorView(true)
cell.imgSticker.sd_setIndicatorStyle(.gray)
cell.imgSticker.sd_setImage(with: url, placeholderImage: nil)
cell.imgSticker.contentMode = .scaleAspectFit
return cell

最佳答案

我没有从你的问题中得到太多的见解,但我认为问题在于使用可重复使用的单元格缓存图像。

简单地实现collectionView Cell类(CollectionCell)中的prepareForReuse()方法。

override func prepareForReuse() {
super.prepareForReuse()
self.imgSticker = nil
}

引用prepareForReuse()

关于ios - collectionview 在 tableview 单元格内重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46150331/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com