这是我想要实现的屏幕截图
我需要这种类型的卡片单元集合视图布局。 (带有前缘和后缘显示)。
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: (collectionView.frame.width) - 40 , height: collectionView.frame.height)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
let cellWidth : CGFloat = (collectionView.frame.width) - 40
let numberOfCells = floor(collectionView.frame.size.width / cellWidth)
let edgeInsets = (collectionView.frame.size.width - (numberOfCells * cellWidth)) / (numberOfCells + 1)
return UIEdgeInsets(top: 0, left: edgeInsets, bottom: 0, right: edgeInsets)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return 0
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return 40
}
}
[但是,当我运行代码时,我的单元格看起来像这样]
我看不到上一张和下一张卡片的前缘和后缘。
只需编辑您的 minimunInterspacing 函数并给出一些值。
并确保您已调用类的委托方法,例如 UICollectionViewDataSourc 。并且您还必须检查您是否还添加了 viewDidLoad 和 Datasourse 中的 collectionViewOutletName.delegate = self 。