gpt4 book ai didi

ios - 如何在 UICollectionViewDelegateFlowLayout 中设置无间距?

转载 作者:行者123 更新时间:2023-11-29 05:13:03 24 4
gpt4 key购买 nike

我正在尝试做一个 UICollectionViewDelegateFlowLayout,在屏幕宽度的三分之一处将 3 个项目排成一行。由于某种原因,它增加了间距并且不符合方形布局。

以下是 UICollectionViewDelegateFlowLayout 函数。

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

let yourHeight = yourWidth



return CGSize(width: yourWidth, height: yourHeight)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
//return UIEdgeInsets.zero
return UIEdgeInsets(top: 0,left: 0,bottom: 0,right: 0);
}

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

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

请不要建议在 viewDidLoad 方法中向 Collection View 添加布局。我尝试过,但没有成功,因为它删除了我的 header 。

最佳答案

class VC : UICollectionViewDelegateFlowLayout, UICollectionViewDelegate {



func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let yourWidth = (collectionView.frame.width - 4)/3
// your minimumInteritemSpacing is 1, hence 4

let yourHeight = yourWidth

return CGSize(width: yourWidth, height: yourHeight)
}



}

您还可以尝试:

 override func viewDidLoad() {
super.viewDidLoad()

let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout
layout?.estimatedItemSize = .init()
layout?.headerReferenceSize = .init()

}

关于ios - 如何在 UICollectionViewDelegateFlowLayout 中设置无间距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59492854/

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