集合视图右侧无边距

collection view no margin on right

我有一个包含两列的集合。 图像如下:

使其成为两列的代码是:

 if let layout = alllistcollview?.collectionViewLayout as? UICollectionViewFlowLayout{
                    layout.minimumLineSpacing = 10
                    layout.minimumInteritemSpacing = 10
                    layout.sectionInset = UIEdgeInsets(top: 0, left: 10, bottom: 0, right: 10)
                    let size = CGSize(width:(alllistcollview!.bounds.width-30)/2, height: 200)
                    layout.itemSize = size
        }

此外,故事板中的单元格间距如下:

问题是第二列没有出现右侧间距。 另外,单元格的某些部分似乎被切断了。

首先你需要实现 UICollectionViewDelegateFlowLayout

之后像这样添加这个函数

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        let lay = collectionViewLayout as! UICollectionViewFlowLayout
        let widthPerItem = collectionView.frame.width / 2 - lay.minimumInteritemSpacing
        
        return CGSize(width:widthPerItem, height:150)
    }

我定义高度为150。别介意