【问题标题】:2 Cells in UICollectionView rowUICollectionView 行中的 2 个单元格
【发布时间】:2021-03-17 20:37:54
【问题描述】:

我试图在我的 CollectionView 中每行有 2 个 collectionView 单元格,我希望它们都是 collectionView 宽度的一半,但是这样做时每行只显示 1 个单元格,这是我必须执行的代码调整大小:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: self.collectionView.frame.width / 2, height: 190)
    }

我不确定为什么这不起作用,有人可以帮忙吗?

当我减去一些宽度时,它每行显示 2 个,但单元格的宽度小于屏幕大小的一半

【问题讨论】:

    标签: ios swift uicollectionview uicollectionviewcell


    【解决方案1】:

    你需要将minimumLineSpacing设置为0

    layout.minimumLineSpacing = 0 
    

    或者

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
        return 0.0
    }
    

    【讨论】:

      【解决方案2】:

      必须在UICollectionView 属性检查器中将间距设置为0

      【讨论】:

        【解决方案3】:

        有时您必须同时使用collectionViewDelegateFlowLayout 和第二个,如下所示:

        func setupCollectionView() {
            let layout = UICollectionViewFlowLayout()
            layout.sectionInset = .zero
            layout.minimumLineSpacing = 0 //as per your requirement
            layout.minimumInteritemSpacing = 0 //as per your requirement
            layout.scrollDirection = .vertical
            layout.itemSize = CGSize(width: self.yourCollectionView.frame.width / 2, height: 190)
            self.yourCollectionView.collectionViewLayout = layout
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-12-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-27
          • 2020-04-21
          • 2016-05-26
          相关资源
          最近更新 更多