Как создать ячейки с динамической шириной для представления коллекции композиционного макета.
Dec 05 2022
Во время создания композиционного макета нам нужно убедиться, что место 1 и место 2 имеют одинаковую предполагаемую размерность: И, конечно же, если у вас есть пользовательские ячейки, не забудьте добавить все подпредставления в его содержимоеView и настроить соответствующие ограничения. , если у вас есть какие-либо проблемы с чем-либо, упомянутым выше, не стесняйтесь оставлять комментарии ниже и спрашивать.
При создании композиционной схемы нам необходимо убедиться, что место 1 и место 2 имеют одинаковый расчетный размер:
func createLayout() -> UICollectionViewLayout {
let itemSize = NSCollectionLayoutSize(widthDimension: /*1*/.estimated(100), heightDimension: .fractionalHeight(1))
let item = NSCollectionLayoutItem(layoutSize: itemSize)
let groupSize = NSCollectionLayoutSize(widthDimension: /*2*/.estimated(100), heightDimension: .fractionalHeight(1))
let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitems: [item])
let section = NSCollectionLayoutSection(group: group)
section.orthogonalScrollingBehavior = .continuous
section.interGroupSpacing = 15
let layout = UICollectionViewCompositionalLayout(section: section)
return layout
}
И, конечно же, если у вас есть пользовательские ячейки, не забудьте добавить все подпредставления в его contentView и настроить правильные ограничения. Если у вас есть какие-либо проблемы с чем-либо, упомянутым выше, не стесняйтесь оставлять комментарии ниже и спрашивать.