gpt4 book ai didi

ios - 每次创建单元格时,UIPageViewController 中的图像都会在 UICollectionView 中重复。使用库在scrollView中显示图像

转载 作者:行者123 更新时间:2023-11-29 05:42:32 25 4
gpt4 key购买 nike

我对用于在 UIPageViewController 中显示图像的库有特定问题,我已将其添加到 UICollectionView 中,this is the library我正在使用的,我的所有工作都是在第一个 viewDidLoad 上通过这个库完成的,但是当我上下滚动 CollectionView 时会出现问题,它会不断重复 UIpageViewController 中的图像code>,以下是我遇到问题的代码。

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) }
}

现在我想我知道问题是这个库只有 append 函数,但是这个函数不会在创建新对象时删除它的值,我已经尝试修复它,但我无法实现它,所以我在这里发帖,如果我能得到任何帮助,我将不胜感激。要了解更多了解我的问题的详细信息,请分享下面的 gif。

Images repeating

最佳答案

我不太确定,但我认为你的问题在于

cell.carouselView.appendContent(view: imageSlide)

就像你说的,还有循环,图像不断重复,因为只有一张图像。您的代码正在做什么:正在执行循环并设置值,完成后它将仅附加最后一个值。因为这就是它所得到的。

如果我正确地阅读了您的代码,请尝试将附加内容放入循环内,它将像这样:

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)
}
}
}

关于ios - 每次创建单元格时,UIPageViewController 中的图像都会在 UICollectionView 中重复。使用库在scrollView中显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56434983/

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