UICollectionView和FlowLayout单元之间的不同间距

时间:2019-02-08 19:39:57

标签: swift uicollectionview cell spacing

我对UICollectionView中的动态单元格大小有问题,或者有逻辑问题。我想计算sizeForItemAt indexPath: IndexPath中单元格的宽度。我的最小间距为1。问题是我的三个单元之间的板/间距与您在图中看到的不同。第一和第二个单元格之间的间距看起来大于第二个和第三个单元格之间的间距。

documentation

我的代码:

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    return 9
}

func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {

    let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CustomCell
    cell.backgroundColor = UIColor.gray
    cell.name.text = "My Textfield"
    return cell
}

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    let width = mycollectionView.frame.width
    let cellsInLine: CGFloat = 3
    let widthWithoutSpacing = width - (spacing * (cellsInLine - 1))
    let cell = CGSize(width: widthWithoutSpacing / cellsInLine, height: 50)
    return cell
}

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

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

0 个答案:

没有答案