2013-06-05 5 views
1

두 가지 유형의 UICollectionViewCell을 가진 UICollectionView가 있습니다. 각 유형의 셀을 표시하고 한 번에 한 가지 유형의 셀만 표시 할 수있는 탭이 있습니다.UICollectionView 셀 정렬

어떤 이유로 인해 하나의 유형의 셀이 UICollectionView에 왼쪽 정렬되지만 다른 셀은 가운데에 가로로 정렬됩니다. 두 가지 유형의 세포를 왼쪽 정렬하고 싶습니다.

에지 세트는 다음과 같습니다

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section 
{ 
    return UIEdgeInsetsMake(10,10,10,10); 
} 

어떤 도움이 많이 주시면 감사하겠습니다.

답변

2

셀 크기에 따라 레이아웃이 다르기 때문에 각 셀 유형마다 다른 인세 트를 사용해야합니다. 나는이 같은 행할 수 있어야한다고 생각 : 가장자리 세트와

- (UIEdgeInsets)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout insetForSectionAtIndex:(NSInteger)section 
{ 
    UICollectionViewCell *cell = [collectionView cellForItemAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:section]; 
    if ([cell isKindOfClass:[MyClass1 class]]){ 
     return UIEdgeInsetsMake(10,10,10,10); 
    }else{ 
     return UIEdgeInsetsMake(20,10,10,10); 
} 

MyClass1에 대한 대체 올바른 클래스 이름을 실험 원하는 동작을 얻을 때까지.

+0

감사합니다. 그것은 바보 같은 실수였습니다. 나는 그것을 깨닫지 못했지만 중심에 있던 셀은 너무 커서 한 줄 이상에 하나 이상의 셀을 가질 수 없었다. 나는 그 이후로 세포의 크기를 줄이고 문제를 해결했다. – user2312407