UICollectionView 行中的 2 个单元格

Posted

技术标签:

【中文标题】UICollectionView 行中的 2 个单元格【英文标题】:2 Cells in UICollectionView row 【发布时间】: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 个,但单元格的宽度小于屏幕大小的一半

【问题讨论】:

【参考方案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

【讨论】:

以上是关于UICollectionView 行中的 2 个单元格的主要内容,如果未能解决你的问题,请参考以下文章

Rails 5 ajax 表单:单击 Ajax 中的 2 个单选按钮之一提交表单

从 UICollectionview 隐藏部分

通过 sql developer 导入 csv 时,单引号被转换为 2 个单引号

如何更改 UICollectionView 中单元格之间的空间?

将 2 个单选按钮分组到 Windows 应用程序的同一组中

发生单元格内容交互时更新 TableView 单元格高度