Вы можете установить макет вашего collectionView
, создав новый макет и установив его itemSize
, minimumInteritemSpacing
и minimumLineSpacing
, а затем назначить новый макет как collectionView.collectionViewLayout
:
func setCollectionViewLayout(withPadding padding: CGFloat) {
let layout = UICollectionViewFlowLayout()
let size = (collectionView.frame.width - padding) / 2
layout.itemSize = CGSize(width: size, height: size)
layout.minimumInteritemSpacing = 0
layout.minimumLineSpacing = 0
collectionView.collectionViewLayout = layout
}
изатем вызовите этот метод в viewDidLayoutSubviews
(это момент, когда кадры загружены, и вы можете вычислить с помощью кадра collectionView
)
override func viewDidLayoutSubviews() {
setCollectionViewLayout(withPadding: 50)
}
Примечание: Я бы порекомендовал вам:установите начальные и конечные ограничения collectionView
на константу 25 вместо использования заполнения