Swift - 以编程方式更改 UICollectionViewCell 大小

Swift - Change UICollectionViewCell size programmatically

我正在努力更改 CollectionView 中项目的大小。

自定义流程布局 class 找到 here

这是我的收藏视图:

class ExampleViewController: UIViewController, UICollectionViewDataSource {

let theCollectionView: UICollectionView = {
    let v = UICollectionView(frame: CGRect.zero, collectionViewLayout: UICollectionViewFlowLayout())
    v.translatesAutoresizingMaskIntoConstraints = false
    v.backgroundColor = .white
    v.contentInsetAdjustmentBehavior = .always
    v.layer.cornerRadius = 30
    return v
}()

let columnLayout = FlowLayout(
    itemSize: CGSize(width: 50, height: 50),
    minimumInteritemSpacing: 10,
    minimumLineSpacing: 10,
    sectionInset: UIEdgeInsets(top: 20, left: 20, bottom: 10, right: 20)
)

我尝试更改 itemSize 但那没有任何作用。

这是 CollectionViewCell 大小更改的代码

(注意:- 根据您的要求更改值!)

 let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()
        layout.sectionInset = UIEdgeInsets(top: 20, left: 0, bottom: 10, right: 0)
        layout.itemSize = CGSize(width: screenWidth/4, height: screenWidth/4)
        layout.minimumInteritemSpacing = 0
        layout.minimumLineSpacing = 0
        cell2.collectionView2.collectionViewLayout = layout

您没有将 flowLayout 分配给 collectionView 或者尝试:

theCollectionView.collectionViewLayout = columnLayout

首先定义你的布局:

let columnLayout = FlowLayout( ...

然后像这样定义您的 collectionView:

let theCollectionView: UICollectionView = { let v = UICollectionView(frame: CGRect.zero, collectionViewLayout:columnLayout)