1

UICollectionViewCell에 이미지를 추가하고 다음 이미지와 같은 제약 조건을 추가했습니다.컬렉션 뷰에 이미지 뷰가 추가되었습니다. 셀에 제약 조건이 적용되지 않았습니다.

Cell With Constraints

구속 : 이미지 뷰의

  • 폭 = 셀의 폭
  • 셀의 이미지 뷰 = 높이
  • 높이
  • 정렬 이미지 뷰 수직 용기 (셀)
  • 컨테이너 내에서 ImageView를 가로로 정렬 (셀)

UICollectionViewDelegate 메서드를 사용하여 런타임에 셀 크기를 결정합니다.

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize 
{ 
    // calculating cell size and returning it 
} 

문제 : I가 모두 상이한 값이 셀 크기 및 이미지보기 크기를 체크 cellForItemAtIndexPath 방법에

. 셀 {w : 82.0, h : 145.77}, ImageView {w : 380.0, h : 170}. 이미지는 스토리 보드에서 설정 한 프레임 크기와 같습니다. 제약 조건에 따라 조정되지 않습니다. 내 셀의 크기가 동일하도록 보장 할 수 있습니까?

현재 수정 : (?)

cell.imageView.frame = cell.bounds 

하지만 이해가되지 않습니다. 왜 크기를 명시 적으로 설정해야하는지, 왜 제약 조건이 적용되지 않는지?

답변

0

확인 마리우스 Soutier하여이 대답은 : UICollectionView: different size items is not calculated on reused items

그의 대답 아래의 코멘트는 아마 당신이 찾고있는 솔루션입니다.

CGSizesizeForItemAtIndexPath:에서 반환하기 전에 기본적으로 reloadData으로 전화해야합니다.

+0

아니 링크가 도움이되지 않습니다. 내 질문에 말했듯이 올바른 셀 크기를 얻었습니다. 문제는 UIImageView (추가 된 자동 레이아웃 제약 조건을 적용하지 않음)에서 발생합니다. –

관련 문제