카테고리 없음

[iOS] 자동 레이아웃은 처음 시작할 때 이미지를 숨 깁니다.

행복을전해요 2021. 1. 24. 19:49

현재 제약 조건 설정은 바닥 UIImageView높이가 -1.5를 제공합니다.

AutoLayout의 두 번째 규칙-네거티브를 가질 수 없습니다!

오류 메시지에서 확인할 수 있습니다.

(UITableViewCell의) 위에서 아래로 ...

  • 10의 간격.
  • 75의 높이.
  • 43의 간격.
  • 가변 높이 (큰 이미지보기)
  • 0의 간격.

이것은 128까지 추가됩니다.

이제 셀의 전체 높이도 위에서 아래로 126.5입니다.

이를 충족하는 유일한 방법은 이미지 뷰의 가변 높이를 -1.5로 설정하는 것입니다. 이것은 수행 할 수 없습니다 . AutoLayout의 두 번째 규칙을 위반합니다. 그래서 도움이 될 것이라고 생각하는 제약을 선택하고 제거합니다. 따라서 아마도 이미지 뷰 높이가 0 또는 그 이상일 것입니다.

제약 조건을 변경하거나 셀 높이를 128로 만들어야합니다.

-------------------

샘플 프로젝트에서 레이아웃을 복제했으며 문제를 재현 할 수있는 유일한 방법은 다음을 설정하는 것입니다 cellForRowAtIndexPath.

cell.translatesAutoresizingMaskIntoConstraints = NO;

그렇게하는 경우 제거해보십시오. 이로 인해 레이아웃이 과도하게 제한되는 이유를 이해하기 위해 세부 사항을 파헤칠 시간이 없었습니다. 그러나 일반적으로 테이블 뷰가 셀 자체의 레이아웃을 소유하기 때문에이 기본값을 변경하지 않는 것이 좋습니다. 콘텐츠의 레이아웃 만 소유합니다.



출처
https://stackoverflow.com/questions/22019833