为什么 UICollectionViewFlowLayout 不能正常工作?

Why doesn't the UICollectionViewFlowLayout work well?

我想使用 FlowLayout 在一行中显示两个项目,方法是使用以下代码:

override func viewDidLoad()
    {
        super.viewDidLoad()
        setupCV()
    }

func setupCV()
    {
        collectionView.delegate = self
        collectionView.dataSource = self
        let width = (view.frame.size.width - 10) / 2
        let layout = collectionView.collectionViewLayout as! UICollectionViewFlowLayout
        layout.itemSize = CGSize(width: width, height: width + 80 )
    }

但是,当我 运行 项目时,它显示如下:

我调试的时候,宽度的return值是正确的。

collection view的Size设置我觉得也是正确的:

我也尝试把布局设置部分放在这个函数里:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {}

然而,Xcode甚至没有执行这个功能。

知道发生了什么事吗?我该如何解决这个问题?非常感谢!

将布局设置回 collectionView:

let layout = UICollectionViewFlowLayout()
layout.itemSize = CGSize(width: width, height: width + 80)
collectionView.collectionViewLayout = layout