gpt4 book ai didi

ios - 在 ContainerView 内的 UICollectionView 中计算单元格宽度

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

我有一个 UICollectionView,我已经实现了委托(delegate)来计算我的单元格宽度,单元格之间的间距为 0。

它本身运行良好,但是当我将它放在小于设备尺寸的容器 View 中时,iOS 会错误地计算出单元格之间的间距,从而添加我不想要的水平空间。

我已经验证了我用来计算单元格大小的宽度是正确的,所以我不确定是什么导致了问题。

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let widthPerItem = view.frame.width / itemsPerRow

return CGSize(width: widthPerItem, height: 60)
}

最佳答案

您正在根据 View 的大小计算单元格大小。由于 collectionView 没有占据屏幕的整个宽度,您得到的值不正确。相反,您应该根据 collectionView 本身的宽度进行计算。

使用 collectionViewbounds 而不是 viewframe:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let widthPerItem = collectionView.bounds.width / itemsPerRow

return CGSize(width: widthPerItem, height: 60)
}

关于ios - 在 ContainerView 内的 UICollectionView 中计算单元格宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50077249/

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