我不知道这个问题以前是否已经特别回答过,但是我在SO上看到了很多东西,但是找不到,所以如果不标记为重复会更好。问题是我陷入了我为pagerVC添加CaroselView library的问题,以在像Instagram这样的水平滚动中显示图像。并在collectionView
中附加图像视图,它在第一个viewDidLoad
上可以正常工作,但是当我向下滚动并调出时,如果pageController中的图像之前为4,则它们变为8,然后继续,加上单元格还可以在滚动时交换其他单元格的数据。我现在不知道该如何处理,将不胜感激。
这就是我在代码中所做的。
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell: FeedsCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: "FeedsCollectionViewCell", for: indexPath) as! FeedsCollectionViewCell
if postObject.contents.count > 0 {
for content in postObject.contents {
cell.feedImageHeightConstaint.constant = 200
cell.carouselViewHightContaint.constant = 200
let imageSlide = UIImageView()
let tap = UITapGestureRecognizer(target: self, action: #selector(showImage(_:)))
imageSlide.isUserInteractionEnabled = true
imageSlide.addGestureRecognizer(tap)
imageSlide.contentMode = UIView.ContentMode.scaleAspectFill
imageSlide.clipsToBounds = true
imageSlide.sd_setImage(with: URL(string: content.contentURL!), placeholderImage: nil) { [weak self](image, error, imageCacheType, url) in
guard let self = self else { return }
self.popUpFeedImage = image
}
cell.carouselView.appendContent(view: imageSlide) }
}