Он использует горизонтальную композиционную компоновку.
Вот скриншот: img alt="список тегов" src="https://i.sstatic.net/ykAibcd0.png" />
Моя проблема в том, что если у меня есть тег длиннее, чем ширины коллекции, происходит сбой со следующей ошибкой:
Ошибка: NSCollectionLayoutItem создан с недопустимой комбинацией указанного интервала и размера. В эту группу не может поместиться ни один элемент.
Я понимаю ошибку, это имеет смысл. Но как мне заставить UILabel (единственный компонент UICollectionViewCell) разрывать строки?
Я установил для numberOfLines значение 0. ViewCell загружается из xib с авторазметкой, что очень просто ( UILabel придерживается суперпредставления).
И, наконец, код для Compositional следующий:
Код: Выделить всё
let layoutSize = NSCollectionLayoutSize(widthDimension: .estimated(50), heightDimension: .estimated(20))
let item = NSCollectionLayoutItem(layoutSize: layoutSize)
let group = .horizontal(layoutSize: .init(widthDimension: .fractionalWidth(1), heightDimension: layoutSize.heightDimension), subitems: [item])
group.interItemSpacing = .fixed(10)
let section = NSCollectionLayoutSection(group: group)
section.contentInsets = .init(top: 4, leading: 16, bottom: 4, trailing: 16)
let layout = UICollectionViewCompositionalLayout(section: section)
let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
Подробнее здесь: https://stackoverflow.com/questions/786 ... positional
Мобильная версия