2016-09-07 2 views
1

오케이. 내 Collectionview 잘 작동합니다. 하지만 레이아웃을 약간 변경하고 싶습니다. 다른 숫자를 가진 배열을 가지고 있으므로 array.count = 5이고, 5 개의 항목이 연속적으로 필요합니다. 이것을 내 Collectionview에 표시하는 방법을 모르겠습니다.다른 항목이있는 Collectionview가

도움 주셔서 감사합니다.

업데이트 :

이제 모든 행은 예를 들어 6입니다.

하지만 숫자 배열을 처리하는 방법을 모르겠습니다! UICollectionViewDelegateFlowLayout의 프로토콜의 일부

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 

     let numberOfCellInRow : Int = 6 
     let padding : Int = 1 
     let collectionCellWidth : CGFloat = (self.view.frame.size.width/CGFloat(numberOfCellInRow)) - CGFloat(padding) 
     return CGSize(width: collectionCellWidth, height: 200) 



} 

답변

1

구현 sizeForItemAtIndexPath은 (즉, 런타임) 동적 UICollectionViewCell의 크기를 설정하는 방법이다.

sizeForItemAtIndexPath에서 각 UICollectionViewCell의 크기를 나타내는 CGSize 객체를 만들고 해당 객체를 함수의 반환 값으로 사용하기 만하면됩니다. 귀하의 예제에서 그 CGSize 개체의 너비는 대략 5로 나눈 주보기의 너비가 될 것입니다. 대략 각 칸 주위의 영 (0)이 아닌 섹션 사이의 패딩 (padding) 공간이 필요하기 때문에 대략 말합니다. UICollectionView.

셀 사이의 패딩을 설정하려면 스토리 보드에서 UICollectionView 개체의 속성 관리자 패널로 이동하여 특성 창을 "측정 모드"로 설정하십시오. "Min Spacing", "For Cells"및 "For Lines"가 표시됩니다. "For Cells"필드는 셀 사이의 수평 간격을 지정할 수있는 곳입니다. "For Lines"필드는 셀 사이의 수직 간격을 지정할 수있는 곳입니다.

관련 문제