gpt4 book ai didi

ios - UIViewController 内的 UICollectionView 不允许滚动

转载 作者:行者123 更新时间:2023-11-28 05:48:49 24 4
gpt4 key购买 nike

Edit1:我没有使用 Storyboard,一切都以编程方式添加
Edit2:更新的代码片段

您好,我在使用 UICollectionView 时遇到了以下问题

  • 无论您做什么,CollectionView 都不允许滚动。
  • 有时单元格甚至会完全消失,只留下一个白色背景的 CollectionView。

当您尝试向上滚动以查看不可见的单元格时出现问题。

  • 我创建了一个具有不同类型单元格的 CollectionView。
  • CollectionView 嵌套在 ImageView 下方的 ViewController 中。
  • 添加了约束,它们工作得很好。

如何让它可以滚动?

代表问题的 GIF

GIF Video

ViewController.swift

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
self.navigationItem.title = "Featured"
self.view.backgroundColor = UIColor.white

// Add UImage carousel
let carousel: UIImageView = {
let imageView = UIImageView()
let image = UIImage()

imageView.backgroundColor = UIColor.purple

return imageView
}()
self.view.addSubview(carousel)
carousel.translatesAutoresizingMaskIntoConstraints = false

// Add CollectionView
let featuredControllerLayout = UICollectionViewFlowLayout()
// Add CollectionViewController
featuredControllerLayout.scrollDirection = .vertical
let featuredController = FeaturedCollectionViewController(collectionViewLayout: featuredControllerLayout)
guard let featuredView = featuredController.collectionView else { return }

self.view.addSubview(featuredView)
featuredView.translatesAutoresizingMaskIntoConstraints = false

// Setup Constraints
if #available(iOS 11.0, *) {
let guide = self.view.safeAreaLayoutGuide
let guideSize = guide.layoutFrame.size

carousel.trailingAnchor.constraint(equalTo: guide.trailingAnchor).isActive = true
carousel.leadingAnchor.constraint(equalTo: guide.leadingAnchor).isActive = true
carousel.topAnchor.constraint(equalTo: guide.topAnchor).isActive = true
carousel.frame.size.height = guideSize.width/2
carousel.heightAnchor.constraint(equalToConstant: carousel.frame.size.height).isActive = true

featuredView.trailingAnchor.constraint(equalTo: guide.trailingAnchor).isActive = true
featuredView.leadingAnchor.constraint(equalTo: guide.leadingAnchor).isActive = true
featuredView.topAnchor.constraint(equalTo: carousel.bottomAnchor).isActive = true
featuredView.bottomAnchor.constraint(equalTo: guide.bottomAnchor).isActive = true
}
}

最佳答案

嘿,你说的是你无法向上滚动并查看整个 Collection View 项目?

如果是这样,那么你还没有考虑到标签栏 Controller 的高度,所以你可以启用半透明,例如我有一个 git 仓库,你可以检查并让我知道你是否卡在任何地方

https://github.com/dwivediashish00/socialApp

关于ios - UIViewController 内的 UICollectionView 不允许滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53701726/

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