0

를 서브 클래 싱해야 내가 레이아웃의 스케치를 가지고있다 -> 첫 행에는 항목이있다 -내가 UICollectionViewLayout 또는 UICollectionViewFlowLayout

Layout Sketch for iPhone

위의 이미지, 고정했다 레이아웃 구조는

은 다음 없기 때문에 .1 컬렉션보기의 모든 너비를 사용합니다.

-> 두 번째 행에 항목 번호가 있습니다. 2와 3을 같게하고 너비를 똑같이 나눕니다.

-> 3 번째 줄 기본 크기를 사용해야합니다.

여기 item1, item2-item3 및 나머지 모든 항목에는 각각 3 가지 디자인이 있습니다.

collectionview에는 섹션이 1 개 있고 여기에 데이터 소스가 간단한 nsarray가 있습니다.

여기 내 질문에 무엇을 사용해야합니까? 모든 제안이 도움이 될 것입니다, 나는 UICollectionView에 익숙하지 않으며 이해하기가 거의 어렵습니다.

답변

1

두 개의 다른 셀 종류가있는 컬렉션보기로 UICollectionViewFlowLayout을 사용할 수 있습니다. 하위 클래스는 필요하지 않습니다. 가로 모드 일 때 레이아웃이 변경 될 것으로 예상되는 경우 털이 흐려질 수 있습니다.

첫 번째 셀 종류는 항목 1, 2 및 3입니다. collectionView:sizeForItemAtIndexPath: 메서드를 구현하여 다른 레이아웃으로 이동합니다. 색인 0 (항목 1)이 전체 너비이고 색인 1, 2 (항목 2,3)가 절반 너비인지 확인하십시오.

그런 다음 다른 모든 종류의 셀을 구현할 수 있습니다. 이러한 항목은 전체 너비가됩니다.

cellForRowAtIndexPath에서 인덱스의 항목을 확인하려면 indexPath의 항목 속성을 확인해야합니다. > 2 인 경우 두 번째 셀 종류를 사용하십시오.

+0

저는 iPhone과 iPad의 레이아웃이 다르기 때문에 하위 클래스를 사용해야합니다. –

+0

iPad 레이아웃에 따라 collectionView 및 collectionViewLayout 대리자 메서드를 구현하는 두 개의 장치 별 클래스를 만들면됩니다. iPad 레이아웃이 플로우 레이아웃에 맞지 않는다면 그렇습니다. 서브 클래 싱이 필요합니다. – atreat

관련 문제