Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.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

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:添加项目时更改UICollectionView中单元格布局的宽度_Ios_Swift_Swift4 - Fatal编程技术网

Ios Swift:添加项目时更改UICollectionView中单元格布局的宽度

Ios Swift:添加项目时更改UICollectionView中单元格布局的宽度,ios,swift,swift4,Ios,Swift,Swift4,我是swift新手,我想使UICollectionViewCell布局成为动态的示例:如果我们添加了一个项目,其外观如下: 1.如果我们有一个项目,它看起来像这样 2.如果我们添加了两个项目,如下所示: 三,。如果第3项再次出现如下所示: 只要有项目,这个过程就是这样进行的 谢谢 这是针对项目大小的UICollectionViewDelegateFlowLayout方法。 只需检查总项目数奇数/偶数,然后根据该值确定单元格宽度 这是间隔方法 //these methods are to con

我是swift新手,我想使UICollectionViewCell布局成为动态的示例:如果我们添加了一个项目,其外观如下:

1.如果我们有一个项目,它看起来像这样

2.如果我们添加了两个项目,如下所示:

三,。如果第3项再次出现如下所示:

只要有项目,这个过程就是这样进行的


谢谢

这是针对项目大小的UICollectionViewDelegateFlowLayout方法。 只需检查总项目数奇数/偶数,然后根据该值确定单元格宽度

这是间隔方法

//these methods are to configure the spacing between items

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
    return UIEdgeInsetsMake(0,5,5,5)
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
    return 10
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
    return 10
}
您可以使用UICollectionViewDelegateFlowLayout的collectionView:layout:sizeForItemAt:来定义大小。知道它是否为偶数:半宽,是否为奇数,之后是否为零:半宽,或者全宽。记住,指数是从0开始的,所以倒换偶数/奇数。
//these methods are to configure the spacing between items

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
    return UIEdgeInsetsMake(0,5,5,5)
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
    return 10
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
    return 10
}