Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.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 如何调整大小类swift的单元格大小_Ios_Swift_Uicollectionview_Resize_Uicollectionviewcell - Fatal编程技术网

Ios 如何调整大小类swift的单元格大小

Ios 如何调整大小类swift的单元格大小,ios,swift,uicollectionview,resize,uicollectionviewcell,Ios,Swift,Uicollectionview,Resize,Uicollectionviewcell,我的应用程序中有一个UICollectionView。我想约束它,使它在每一水平行上只有两个单元格。对于iPhone类,我通过设置宽度来实现这一点,这样三个单元格就不能放在同一水平行中。这似乎是一个解决方案,但我不知道如何调整iPad的电池大小。我听说使用: func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt

我的应用程序中有一个
UICollectionView
。我想约束它,使它在每一水平行上只有两个单元格。对于iPhone类,我通过设置宽度来实现这一点,这样三个单元格就不能放在同一水平行中。这似乎是一个解决方案,但我不知道如何调整iPad的电池大小。我听说使用:

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize
但我无法访问此功能。Swift是否不再支持此功能


问题:我可以强制屏幕在每个水平行上只显示2个单元格吗?

您应该首先遵守协议
UICollectionViewDelegateFlowLayout

然后实现该方法:

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: collectionView.frame.size.width * 0.5, height: 30)
    }

这种方法仍然存在。但是你可以用多种方法来做。您当前如何设置大小?你能把那个代码包括进来吗?那个方法在Swift 3上的签名是错误的。有关正确的签名,请参阅文档。我遇到了错误“从类'UIViewController'和'UICollectionViewFlowLayout''的多个继承”,而不是错误。我意外地添加了“UICollectionViewFlowLayout”而不是“UICollectionViewDelegateFlowLayout”