2017-11-27 3 views
0

크기를 적절하게 조정하고 크기/종횡비를 유지하는 이미지에 맞게 UICollectionViewCell의 크기를 조정하고 싶습니다. 셀의 크기를 단순히 이미지의 크기로 설정하면 너무 커질 수 있습니다. 또한 다른 크기의 장치에서 실행하면 간격이 일정하지 않습니다. 이 극복하기 위해 프로그래밍 방식으로 collectionView 구현해야합니까?이미지에 맞게 UICollectionViewCell 크기 조정

프레임 워크로 이미 해결 될 수있는 매우 일반적인 문제이므로이 작업을 수행하는 많은 앱이 있습니다.

예 :

enter image description here

답변

0

UICollectionView 실제로 임의의 레이아웃이다. 따라서 기본값은 그리드 인 UICollectionViewFlowLayout이지만, 사용자는 UICollectionViewLayout 프로토콜의 인스턴스를 구현하여 변경할 수 있습니다. 당신이 그걸 꽤 쉽게 인용 한 경우. 셀의 너비는 collectionview (너비에서 채우기 빼기)를 2로 나눈 값입니다. 높이는 종횡비에 너비 + 간격과 레이블 높이를 곱한 값입니다. 2로 나눌 수있는 인덱스를 가진 모든 셀은 오른쪽 열에 있고 나머지는 왼쪽 열에 있습니다. layoutAttributesForItem(at:)에 대해이 값을 쉽게 계산할 수 있어야합니다. 불행히도 collectionViewContentSize에 대해 계산하기가 더 힘듭니다. collectionview가 충분히 작다고 가정하면 모든 hieghts를 미리 계산하고 캐시 된 값을이 함수에 사용하는 것이 가장 좋습니다.

0

github에는 많은 오픈 소스가 있습니다. 참조 할 수 있습니다.

https://github.com/zhangsuya/SYStickHeaderWaterFall

+0

스택 오버 플로우에 오신 것을 환영합니다. [둘러보기] (https://stackoverflow.com/tour)를 보내주십시오. – Xcoder

+0

@Xcoder 왜 그렇게 말합니까? 나는 너보다 더 오래 회원 이었어. –

+0

@AnonProgrammer는 침착 함을 말하지 않고, 그는 대답으로 URL을 방금 게시 한 의 성명을 쓴 사람입니다! –

관련 문제