Если то, что вы пытаетесь сделать, это
Независимо от размера экрана, я всегда хочу 2 (или, скажем, n) элементов подряд!
Тогдавам нужно UICollectionViewFlowLayout
Вы можете попробовать следующий фрагмент кода
let itemSize = UIScreen.main.bounds.width/2 - 3
let layout = UICollectionViewFlowLayout()
layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0)
layout.itemSize = CGSize(width: itemSize, height: itemSize)
layout.minimumInteritemSpacing = 3
layout.minimumLineSpacing = 3
collectionView.collectionViewLayout = layout
В приведенном выше коде заменить 2 в строке:
let itemSize = UIScreen.main.bounds.width / 2 - 3
с количеством требуемых элементов в одной строке
Вы можете поместить этот код в viewDidLoad()
или viewDidAppear()