Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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 使UICollectionView中的最后一个单元格填充宽度_Ios_Swift_Uicollectionview - Fatal编程技术网

Ios 使UICollectionView中的最后一个单元格填充宽度

Ios 使UICollectionView中的最后一个单元格填充宽度,ios,swift,uicollectionview,Ios,Swift,Uicollectionview,在我的UICollectionView中,最后一个单元格indexPath是10。我要最后一个单元格填充宽度。现在每行有2个单元格,但我希望最后一个单元格填充整个宽度。这就是我尝试过的 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize

在我的
UICollectionView
中,最后一个单元格
indexPath
是10。我要最后一个单元格填充宽度。现在每行有2个单元格,但我希望最后一个单元格填充整个宽度。这就是我尝试过的

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

    let width = (view.frame.size.width - 40) / 2

    if indexPath.item == 10 {
        return CGSize(width: view.frame.size.width, height: CGFloat(100))
    }
    return CGSize(width: width, height: 100)
}
当我运行应用程序并按下最后一个单元格时,此输出将运行:

func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
    // handle tap events
    print("You selected cell #\(indexPath.item)!")
}

但不知怎的,这没有任何作用。有什么建议吗?

我自己做的。我忘了添加
UICollectionViewDelegateFlowLayout

是我自己做的。我忘了添加
UICollectionViewDelegateFlowLayout

集合视图中确实有11项吗?第11个单元格使用的宽度是多少?@rmaddy我使用的是
didSelectItemAt
,当我点击最后一个单元格时,它给了我输出
您选择的单元格#10。所有单元格的宽度都等于:
let width=(view.frame.size.width-40)/2
您没有回答我的第一个问题。我不知道您是如何打印的,所以仍然不清楚表视图中是否有10项或11项。请记住,
indexPath.item
是基于0的。@rmaddy很抱歉,我的问题现在也被打印出来了。如果indexath.item==4,也尝试更改为
{
但它什么也没做。你在集合视图中真的有11个项目吗?第11个单元格使用的宽度是多少?@rmaddy我正在使用
didSelectItemAt
,当我点击最后一个单元格时,它给了我输出
你选择的单元格#10!
。所有单元格的宽度都等于:
let width=(视图.框架.尺寸.宽度-40)/2
您没有回答我的第一个问题。我不知道您的打印方式,因此仍然不清楚您在表视图中实际是有10项还是11项。请记住,
indexPath.item
是基于0的。@rmaddy很抱歉,现在也用打印更新了我的问题。如果indexPath.item==4,还尝试更改为
{
但它什么也不做。