pageView添加2倍多图像作为可重用单元格在collectionView中重新创建

时间:2019-05-31 16:29:17

标签: ios swift uicollectionview uipageviewcontroller reuseidentifier

我不知道这个问题以前是否已经特别回答过,但是我在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) }
}

as shown in image.

0 个答案:

没有答案