반응형
사용자 정의 UITableViewCell에서 자동 레이아웃이 무시됩니다.
셀의 높이를 계산하는 데 필요한 수직 요소를 포함하여 모든 요소에 제약 조건을 설정 했음에도 불구하고 자동 레이아웃은 무시되는 것처럼 보입니다. 모든 셀이 압축됩니다.
다음은 스토리 보드의 결과 및 제약 조건의 스크린 샷입니다.
tableView를 보유하는 VC에서 viewDidLoad 의 코드는 다음과 같습니다.
tableView.estimatedRowHeight = 120.0
tableView.rowHeight = UITableViewAutomaticDimension
두 번째 줄을 주석 처리하면 높이가 120.0 인 셀이 제공되지만 자동 레이아웃도 무시됩니다.
감사
최신 정보
인터페이스를 단순화하기 위해 제약 조건으로 단일 레이블을 남겼습니다.
- 슈퍼 뷰로 이어지는 공간
- 슈퍼 뷰를위한 최고의 공간
- 고정 너비 및 높이 (100 및 100)
- 셀에 높이를 결정하는 모든 수직 제약 조건이 있는지 확인하기 위해 하단 공간에서 컨테이너 여백까지
그리고이 단순화 된 인터페이스를 사용하면 자동 레이아웃이 여전히 고려되지 않습니다. 이는 문제가 잘못 설정된 제약에서 비롯된 것이 아님을 암시합니다.
Size Inspector에서 행 높이는 120으로 설정되고 Custom이 선택되어 있습니다. 셀에 올바른 사용자 지정 클래스가 있고 셀 재사용 식별자가 정확합니다.
업데이트 : 솔루션을 찾았습니다.
이것은 간단한 실수였습니다. 아래 내 대답을 참조하십시오.
프로토 타입 셀과 셀의 UIView 모두 IB에서 사용자 지정 셀 클래스가 지정 되었기 때문에 자동 레이아웃이 무시되었습니다.
UIView를 UIView 클래스로 다시 설정하면 문제가 해결되었습니다.
문제는 당신이 구현하고 있다는 것입니다.
func tableView(_ tableView: UITableView, heightForRowAt indexPath:
IndexPath) -> CGFloat {
return x
}
tableview가 셀의 자동 높이를 계산하려면이 함수를 제거해야합니다.
참고 URL : https://stackoverflow.com/questions/43319921/autolayout-is-ignored-in-custom-uitableviewcell
반응형
'code' 카테고리의 다른 글
Django 나머지 프레임 워크 중첩 된 자체 참조 개체 (0) | 2020.10.31 |
---|---|
Google Play 서비스를 버전 13으로 업데이트 한 후 오류가 발생했습니다. (0) | 2020.10.31 |
PHP : 숫자 인덱스에서 연관 배열 키를 얻는 방법? (0) | 2020.10.31 |
UIScrollview가 터치 이벤트를 가져옵니다. (0) | 2020.10.31 |
사용하지 않고 C ++ 11에서 다중 스레드 안전 싱글 톤을 구현하는 방법 (0) | 2020.10.31 |