programing

동적 크기 UICollectionView 셀

javaba 2021. 1. 15. 19:08
반응형

동적 크기 UICollectionView 셀


여기에 이미지 설명 입력

1) 이미지와 같이 어떻게 얻을 수 UICollectionView있습니까?

2) -(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath방법을 시도하고 다른 크기를 전달했지만 셀 사이에 공백이 없습니다. 그 공간을 비울 수 있습니까? 모든 셀에 대해 다른 높이와 너비를 원합니다.

전류 출력 : 여기에 이미지 설명 입력 .


너무 늦어서 미안하지만 아직 답을 찾지 못한 사람들에게 도움이 될 것입니다. 이미지가 배열에있는 경우 이미지 크기를 참조하고 여기에서 셀 크기를 조정할 수 있습니다.

- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{
    UIImage *image = [imageArray objectAtIndex:indexPath.row];
//You may want to create a divider to scale the size by the way..
    return CGSizeMake(image.size.width, image.size.height); 
}

도움이 되었기를 바랍니다..


아마도이 레이아웃이 귀하의 필요에 맞을 것입니다. 이 프로젝트를 살펴보세요 : https://github.com/betzerra/MosaicLayout

100 % 그것이 귀하의 요구 사항을 완전히 충족시킬 것이라고 확신하지는 않지만 최악의 경우 사용자 지정 UICollecionViewFlowLayout을 작성하는 데 도움이 될 수 있습니다 (목표를 달성하는 유일한 방법).


표준을 사용하여 질문에있는 것과 같은 결과를 얻을 수 없습니다. UICollectionViewFlowLayout기본 구현 (서브 클래스 없음)에서 그리드 레이아웃을 생성합니다.

원하는 것을 얻으려면 모든 항목을 올바른 프레임에 배치하는 데 필요한 모든 계산을 수행하는 자체 UICollectionViewLayout(또는 아마도 UICollectionViewFlowLayout) 하위 클래스를 만들어야합니다 .

여기에서 멋진 튜토리얼을 확인 하고 여기에서 원하는 것과 유사한 내용을 살펴보십시오 .


행에서 이미지의 가변 높이를 만드는 대신 이미지 높이의 동일한 크기를 고정하지만 한 행에서 너비가 다를 수 있습니다. 이러한 조합을 만들고 표시하면 행에서 너비가 다른 하나 이상의 이미지를 사용하여 다른 높이에 동일한 셀을 재사용 할 수 있습니다. . 나는 당신이 구글 이미지 검색처럼 찾고있는 것과 같은 느낌을 준다.

참조 URL : https://stackoverflow.com/questions/23760275/dynamic-size-uicollectionview-cell

반응형