gpt4 book ai didi

swift - 将单个 UICollectionViewCell 对齐到 collectionView 的左侧

转载 作者:行者123 更新时间:2023-12-03 09:19:28 61 4
gpt4 key购买 nike

我有一个位于 tableView 单元格内的 collectionView。 collectionView 有多个部分。如果一个部分只有一个单元格,则该单元格将居中显示。如何将该单个单元格对齐到左侧?

collectionView inside tableView cell

collectionView 有以下 flowLayout :

let flowLayout = UICollectionViewFlowLayout()
flowLayout.scrollDirection = .vertical
flowLayout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)
flowLayout.minimumInteritemSpacing = 0
flowLayout.minimumLineSpacing = 0
flowLayout.estimatedItemSize = UICollectionViewFlowLayout.automaticSize
collectionView.setCollectionViewLayout(flowLayout, animated: true)

最佳答案

由于sectionInsetfunc collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { } 相同协议(protocol),可以调用这个协议(protocol)来知道哪个部分只剩下一个单元格。

您可以更换:

flowLayout.sectionInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)

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

if collectionView.numberOfItems(inSection: section) == 1 {

let flowLayout = collectionViewLayout as! UICollectionViewFlowLayout

return UIEdgeInsets(top: 0, left: 0, bottom: 0, right: collectionView.frame.width - flowLayout.itemSize.width)

}

return UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0)

}

这个红色单元格是第二节中唯一剩下的一个,它是左对齐的:

enter image description here

关于swift - 将单个 UICollectionViewCell 对齐到 collectionView 的左侧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60000398/

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