Вы хотите, чтобы 3 ячейки представления коллекции в каждой строке, и вышеупомянутое изображение поместится в каждую ячейку Вам необходимо реализовать методы делегата UICollectionViewDelegateFlowLayout , чтобы установить ячейку представления коллекции.
Я предполагаю, что ячейка будет квадратной, и между каждой ячейкой и каждой строкой будет промежуток в 10 пикселей (так минимальный межстрочный интервал и межэлементный интервал будут 10)
let cellGap = 10
let leftGapToScreen = 10
let rightGapToScreen = 10
let minLineSpacing = 10
let minInterItemSpacing = 10
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
let availableWidth = UIScreen.main.bounds.width - (2 * cellGap) -
leftGapToScreen - rightGapToScreen
let cellWidth = availableWidth / 3
let cellHeight = cellWidth
return CGSize(width: cellWidth, height: cellHeight)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
return UIEdgeInsets(top: 0, left: leftGapToScreen, bottom: 0, right: rightGapToScreen)
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
return minLineSpacing
}
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
return minInterItemSpacing
}
Теперь создайте собственный collectionViewCell и поместите в него imageView. Используйте автоматическую компоновку, чтобы изображение целиком вписывалось в супер вид. Надеюсь, это поможет.