gpt4 book ai didi

ios - 单元格 uicollectionviewflowlayout 之间的边距相同

转载 作者:行者123 更新时间:2023-11-28 15:20:25 25 4
gpt4 key购买 nike

我在 google 和 stackoverflow 上搜索了一段时间,试图在我的 UICollectionViewCells 上完成一个相当简单的操作。但直到现在我还做不到。

我想要的是一个CollectionViewController每行有两个单元格。每个单元格的顶部、左侧、底部和右侧必须具有相同的边距。

到目前为止我所拥有的是:

enter image description here

问题是我想在单元格的每一侧都有相同的边距。这意味着 EdgeInsets left 和 right 都必须是 14 而不是 7..

我无法完成此任务。我知道我遗漏了一些东西,但我不知道是什么。

我正在使用 FlowLayout , 这是 UICollectionViewDelegateFlowLayout 的代码

fileprivate let phoneSectionInsets = UIEdgeInsets(top: 14.0, left: 7.0, bottom: 20.0, right: 7.0)

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

let phoneHeight = 250
let fixedWidth = 220

return CGSize(width: (collectionView.bounds.size.width / 2 - (phoneSectionInsets.left + phoneSectionInsets.right)), height: CGFloat(phoneHeight))

}

func collectionView(_ collectionView: UICollectionView,
layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {

return phoneSectionInsets
}

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

return 14.0
}

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

return 14.0
}

如果我将左右边距设置为 14,那么左右两侧的边距为 14,但单元格之间的边距为 28..

非常感谢您的帮助。

最佳答案

你需要在 sizeforitem 中交叉检查你的代码

fileprivate let phoneSectionInsets = UIEdgeInsets(top: 14.0, left: 14.0, bottom: 20.0, right: 14.0)

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

let phoneHeight = 250
let fixedWidth = 220

return CGSize(width: (collectionView.bounds.size.width - (phoneSectionInsets.left + phoneSectionInsets.right + 14/*item spacing */))/2.0, height: CGFloat(phoneHeight))

}

在计算项目宽度时,您需要考虑左右边距以及项目之间的间距。

关于ios - 单元格 uicollectionviewflowlayout 之间的边距相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46113561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com