orthogonalScrollingBehavior 이용해서 view구현해보기

이재영·2023년 1월 16일
0

레이아웃을 구성하는 메소드를 구현하던 중
분명 Group Layout의 크기를 horizontal로 설정해놨는데,
collectionView가 item들을 위아래로 보여주었다.
그 이유는 section의 크기가 정해져있어, 계속 이어나가지 못하는 것이었다.

즉, 다음 item이 나와야하지만, section의 크기를 초과하기때문에
collectionView가 아래로 내려버린 것이다.

하지만, 내가 원하는것은 section의 크기에 구애받지 않고
옆으로 나열하는 것이기 때문에 orthogonalScrollingBehavior
사용하여 item들을 수평방향으로 쭉 나열할 수 있게 되었다.


아래 코드는 Compositional Layout을 구성하는 메소드이다.
해당 메소드 안의 section에 대하여 orthogonalScrollingBehavior
.continuos로 사용한 것을 확인할 수 있다.

코드

private func layout() -> UICollectionViewCompositionalLayout {
        
        let itemSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(1), heightDimension: .fractionalHeight(1))
        
        let item = NSCollectionLayoutItem(layoutSize: itemSize)
        
        let groupSize = NSCollectionLayoutSize(widthDimension: .fractionalWidth(0.8), heightDimension: .absolute(200))
        
        let group = NSCollectionLayoutGroup.horizontal(layoutSize: groupSize, subitems: [item])
        
        let section = NSCollectionLayoutSection(group: group)\
        section.orthogonalScrollingBehavior = .continuous
        
        let layout = UICollectionViewCompositionalLayout(section: section)
        
        return layout
        
    }
profile
기록

0개의 댓글