2016-12-01 1 views
1

스크롤 방향이 수평 인 collectionView가 있습니다. 그것은 단지 하나의 라인을 가지며 셀 간격은 16.0px입니다. 그래서 나는 UICollectionViewFlowLayoutUICollectionViewLeftAlignedLayout 서브 클래스라는 이름의 사용자 정의 레이아웃의 collectionViewLayout을 설정UICollectionView 셀을 스크롤 할 때 셀이 사라집니다.

UICollectionViewLeftAlignedLayout *layout  = [[UICollectionViewLeftAlignedLayout alloc] init]; 
layout.scrollDirection      = UICollectionViewScrollDirectionHorizontal; 
layout.minimumInteritemSpacing    = 16.0; 
_myCollectionView.collectionViewLayout  = layout; 
_myCollectionView.autoresizingMask   = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; 

을하지만 난이 collectionView을 스크롤 할 때, 그것의 일부 세포가 사라졌다. 그래서 이상한! 불행히도 나를 위해 작동하지 않았다 google.com에서 찾을 수있는 모든 솔루션을 시도했다. 나는 해결책을 게시하고 답을 아래에 답변으로 게시한다.

답변

1

나는 고쳤다.

UICollectionViewFlowLayout *layout  = [[UICollectionViewFlowLayout alloc] init]; 
[layout setScrollDirection:UICollectionViewScrollDirectionHorizontal]; 

layout.scrollDirection     = UICollectionViewScrollDirectionHorizontal; 
_myCollectionView.collectionViewLayout = layout; 
_myCollectionView.autoresizingMask  = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight; 

그리고 스토리 보드를 통해 셀 간격 (또한 레이아웃의 때에 프로퍼티를 통해 설정할 수 있습니다) 설정 :

난 그냥 같은 기본 UICollectionViewFlowLayout와 사용자 정의 UICollectionViewLeftAlignedLayout을 대체
cell spacing

을 그런 다음 프로젝트를 다시 실행하면 UICollectionViewCell이 더 이상 DISAPPEAR이되지 않습니다.

관련 문제