UICollectionView minimumInteritemSpacing with horizontal scroll…

1 답변 글타래를 보이고 있습니다
  • 글쓴이
    • 끼리니
      참가자
      • 글작성 : 7
      • 답글작성 : 6

      안녕하세요, UICollectionView를 사용하다가 minimumInteritemSpacing 이 잘 동작하지 않아서 질문남기게 되었습니다.

      UICollecionView에서 아래와 같이

      let layout: UICollectionViewFlowLayout = UICollectionViewFlowLayout()

      layout.minimumInteritemSpacing = 0.0

      layout.minimumLineSpacing = 3.0

      하고 layout.itemSize 를 정했습니다. lineSpacing은 잘 동작하지만 interitemSpacing이 잘 동작하지 않아, 구글링을 해보니

      For a horizontally scrolling grid, this value represents the minimum spacing between items in the same column. This spacing is used to compute how many items can fit in a single line, but after the number of items is determined, the actual spacing may possibly be adjusted upward.

      이러한 설명을 찾을 수 있었습니다, 그리고 위의 이유때문이 맞는것같습니다… 하지만, 그럼 제가 원하는대로 Spacing을 줄 수 있는 방법이 없는걸까요..?

      현재로서는 방법이 없다면, 1. 내부를 stackView로 바꾼다. 2. 큰 가로 cell을 만들고 안을 원하는대로 구성한다…?(이해가 가실까요?ㅠㅠ)

      위 방법들은 내부적으로 각각item의 관리들이 더 복잡해질것같기는 합니다ㅜ 혹시 다른 방법이 있을까요? 늘 감사합니다.

      • CollectionView Cell크기 관련해서 질문이 있던데 비슷한 고민일수도 있겠네요~!
      • 이 게시글은 끼리니에 의해 4 years 전에 수정됐습니다.
    • 야곰
      키 마스터
      • 글작성 : 37
      • 답글작성 : 580

      아이템 사이의 간격의 최소거리를 지정하는 것이기 때문에 최소거리 이상의 거리로 벌어질 수 있습니다.
      따라서 콜렉션뷰의 아이템을 보여주기 전에 아이템의 가로길이를 콜렉션 뷰 화면 사이즈를 기반으로 원하는 사이즈로 변경해주는 작업이 필요할 수 있습니다.

      2번은 컬렉션뷰를 사용하는 의미가 퇴색될 것 같고요, 만약 아이템의 수가 그리 많지 않다면 스택뷰를 추천합니다.
      스택뷰 + 스크롤뷰의 조합은 생각보다 강력합니다. 물론 오토레이아웃의 중급 이해가 필요합니다만, 어차피 오토레이아웃은 제대로 배워야하니 도움이 될 것 같아요.
      아이템 수가 수십개 이상으로 많다면 콜렉션뷰를 사용하는 것이 유리합니다.

      • 이 답변은 야곰에 의해 4 years 전에 수정됐습니다.
1 답변 글타래를 보이고 있습니다
  • 답변은 로그인 후 가능합니다.

logo landscape small

사업자번호 : 743-81-02195
통신판매업 신고번호 : 제 2022-충북청주-1278 호
고객센터 : 카카오톡채널 @yagom