【发布时间】:2020-04-16 22:59:23
【问题描述】:
我正在尝试在屏幕宽度的三分之一处使用 3 个项目来执行 UICollectionViewDelegateFlowLayout。由于某种原因,它增加了间距并且不符合方形布局。
这里是 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 方法中为集合视图添加布局。我试过了,它没有用,因为它删除了我的标题。
【问题讨论】:
-
(collectionView.bounds.width - 2) / 3.0 我认为这是计算 1/3 宽度且单元格之间只有 1 个像素间距的公式
-
你能告诉我你的xcode版本吗?
标签: ios swift uicollectionview uicollectionviewflowlayout