У вас есть два варианта
ПЕРВЫЙ ВАРИАНТ: Возвращает оценочный размер элемента каждого CollectionViewCell
1. Получите ссылку на IBOutlet от каждого CollectionViewFlowLayout
@IBOutlet weak var firstFlowLayout: UICollectionViewFlowLayout!
2. Добавление UICollectionViewDelegateFlowLayout
делегата в ваш viewController
3. Реализация делегатаМетод
func collectionView( _ collectionView: UICollectionView,layoutcollectionViewLayout: UICollectionViewLayout,sizeForItemAtindexPath: IndexPath) -> CGSize {
if collectionView.tag == 1 {
return CGSize(width: constantWidth, height: constHeight)
} elseIf collectionView.tag == 2 {
return firstFlowLayout.estimatedItemSize
}
}
ВТОРОЙ ВАРИАНТ: Шаблон проектирования Adepter
Вы также можете использовать класс адаптера для каждого набора коллекций, и каждый адаптер имеет свою реализацию для решения этой проблемы, например:
https://stackoverflow.com/a/50920915/5233180
НЕ : эту реализацию для TableView вы можете сделать для коллекции viewview