Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 为什么';UICollectionViewFlowLayout是否工作正常?_Ios_Swift5_Uicollectionviewflowlayout - Fatal编程技术网

Ios 为什么';UICollectionViewFlowLayout是否工作正常?

Ios 为什么';UICollectionViewFlowLayout是否工作正常?,ios,swift5,uicollectionviewflowlayout,Ios,Swift5,Uicollectionviewflowlayout,我想使用FlowLayout通过使用以下代码在一行中显示两个项目: override func viewDidLoad() { super.viewDidLoad() setupCV() } func setupCV() { collectionView.delegate = self collectionView.dataSource = self let width = (view.fr

我想使用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 )
    }
但是,当我运行该项目时,它显示了这样的信息:

当我调试它时,宽度的返回值是正确的。

集合视图的大小设置也是正确的,我认为:

我还尝试将布局设置部分放在这个函数中:

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

谢谢,它起作用了。但是为什么我的代码不起作用呢?我已将其降级到UICollectionViewFlowLayout。您没有像我那样更改collectionView的
itemSize
。相反,您正在更改变量的
itemSize
。从来没用过。