2012-11-01 3 views
9

자세히 볼 수 있듯이 UICollectionViewFlowLayout은 마지막 섹션을 제외한 섹션의 모든 행을 양쪽 정렬합니다. 예를 들어, 1 행 이상을 채울 수있는 항목이 충분하지 않으면 그 결과는 정당화되지 않습니다.UICollectionView의 마지막 행을 맞 춥니 다.

enter image description here

는 또한 섹션의 마지막 줄을 정당화하는 단순한 구성하는 어느 쪽이든 정도 서브 클래스 UICollectionViewFlowLayout 무엇입니까?

enter image description here

답변

4

당신은 항목의 UICollectionViewLayoutAttributes 개체의 frame 속성을 변경하여, 당신이 원하는 위치 (이미 올바른되는 첫 번째 제외) 마지막 줄에있는 모든 항목을 배치 할 UICollectionViewFlowLayout 및 최우선 layoutAttributesForElementsInRect:layoutAttributesForItemAtIndexPath:를 서브 클래 싱하여이 작업을 수행 할 수 있습니다 .

10

이 불행하게도, 정말 할 수 없습니다. 불행히도 그런 식으로 설계된 것은 아닙니다.

내가 생각할 수있는 한 가지는 데이터 소스에 여분의 항목을 추가하는 것입니다. 0 픽셀 높이와 콜렉션보기의 너비 인 셀이 끝에 있습니다. 그러면 마지막 행이 그 위에 하나의 항목 만있는 단일 행이되며 그 위에있는 모든 행은 양쪽 정렬됩니다.

+0

정말 훌륭하고 간단한 해결책입니다! 감사! – dowi

+1

추가 항목의 너비는'(컬렉션보기 너비) - (왼쪽 및 오른쪽 내용 삽입) - (왼쪽 및 오른쪽 섹션 삽입)'이어야합니다. – Pang

+0

upvote due .. 그 버그에 대한 간단한 해결책 –

관련 문제