首页 > 解决方案 > UIViewController 内的 UICollectionView 不允许滚动

问题描述

Edit1:我没有使用情节提要,所有内容都已以编程方式添加
Edit2:更新的代码片段

你好,我有以下关于 UICollectionView 的问题

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

我如何使它可滚动?

代表问题的 GIF

GIF 视频

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

标签: iosswiftuiviewcontrolleruicollectionviewcollectionview

解决方案


嘿,您要说的是您无法向上滚动并查看整个集合视图项目?

如果是这种情况,那么您没有考虑标签栏控制器的高度,因此您可以启用半透明例如我有一个 git repo 我让您可以检查并让我知道您是否卡在任何地方

https://github.com/dwivediashish00/socialApp


推荐阅读