Como criar células de largura dinâmica para exibição de coleção de layout composicional.

Dec 05 2022
Durante a criação do layout de composição, precisamos garantir que o local 1 e o local 2 tenham a mesma dimensão estimada: E, claro, se você tiver células personalizadas, não se esqueça de adicionar todas as subvisualizações ao seu contentView e configurar as restrições adequadas , se você tiver algum problema com qualquer coisa mencionada acima, não hesite em deixar um comentário abaixo e perguntar..

Durante a criação do layout composicional, precisamos garantir que o local 1 e o local 2 tenham a mesma dimensão estimada:

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
    }

E, claro, se você tiver células personalizadas, não se esqueça de adicionar todas as subvisualizações ao seu contentView e configurar as restrições adequadas, se tiver algum problema com qualquer coisa mencionada acima, não hesite em deixar um comentário abaixo e perguntar.