Как я могу присвоить (разные) CGFame каждой отдельной ячейке в новом UICollectionView (2019+), чтобы расположить и изменить их размер в горизонтально прокручиваемой группе / разделе?
Пример
Ячейки представляют события на горизонтально прокручиваемой временной шкале, временная шкала проходит линейно от x = 0 до x = 100, затем ячейки могут быть расположены в x = 3 с шириной 7, другая ячейка в x = 20 с w = 10, другой при x = 46 с w = 21 и т. Д. c ... некоторые могут даже перекрываться.
Приложение
На основе Видео Пола Хадонса о новых видах коллекций Я пытаюсь переделать функцию createSection (), чтобы обеспечить фрейм для каждой указанной c ячейки, поэтому я не буду использовать какие-либо стандартные макеты ( как Flow Layout). В частности, я заинтригован по поводу использования NSCollectionLayoutGroup
func createSection() -> NSCollectionLayoutSection {
let itemSize = NSCollectionLayoutSize(widthDimension: .absolute(300), heightDimension: .absolute(300))
let layoutItem = NSCollectionLayoutItem(layoutSize: itemSize)
layoutItem.contentInsets = NSDirectionalEdgeInsets(top: 40, leading: 40, bottom: 40, trailing: 40)
let layoutGroup = NSCollectionLayoutGroup.horizontal(layoutSize: itemSize, subitems: [layoutItem])
let layoutSection = NSCollectionLayoutSection(group: layoutGroup)
layoutSection.orthogonalScrollingBehavior = .continuous
return layoutSection
}
В документации Apple говорится, что я могу выбрать использование .custom вместо .hortical макета для NSCollectionLayoutGroup. Это позволило бы мне установить кадр для каждой указанной ячейки c. Но как это должно быть реализовано? Я полагаю, что Apple опубликовала пример кода для всех других опций, кроме .custom.