셀의 contentView에 하위 뷰를 추가하여 사용자 지정 UITableViewCell을 디자인했으며 contentView와 하위 뷰 사이에 자동 레이아웃 제약 조건을 추가했습니다.UITableView의 NSAutoresizingMaskLayoutLayoutConstraint를 제거하는 방법?
그러나 응용 프로그램을 디버깅 할 때 Xcode에서 제약 조건 충돌이 있음을 알립니다. 제약 조건 목록에는 셀 높이를 43으로 제한하는 NSAutoresizingMaskLayoutLayoutConstraint가 하나 있습니다. 따라서 Xcode는 내 하위 뷰 높이의 제약 조건을 깨고 '압축'합니다.
이 나는 시도했다 :
인터페이스 빌더에서는 "autoreize의 파단"체크 상자를 선택 취소합니다. 작동하지 않습니다.
코드에서
cell.contentView.translatesAutoResizingMaskIntoConstraints = NO
. 이로 인해 응용 프로그램이 중단되고 "자동 레이아웃은 -layoutSubviews를 실행 한 후에도 필요합니다."라는 예외가 발생합니다. 나는이 질문에서 모든 제안 된 해결책을 시도했다 : "Auto Layout still required after executing -layoutSubviews" with UITableViewCell subclass 그들 중 누구도 나를 위해 일하지 않는다.
그래서 저는 셀이 자동 크기 조정 작업을 수행하고 코드에서 자동 크기 조정 제약 조건을 제거 할 수 있다고 생각합니다. 물건을 깨지 않고 어떻게해야합니까?
EDIT : 또는 다른 관점에서 tableViewCell 높이를 유연하게 만들 수있는 방법 (하위 뷰 높이 및 제한 조건이 변경됨) IB에서는 높이를 설정해야합니다. 맞습니까?
일부 레이아웃 충돌이 있어야합니다. 샘플 프로젝트를 만들고 우리와 공유하십시오. 그렇다면 그것을 쉽게 알아낼 수 있습니다. 자동 레이아웃을 사용하여 동적 셀 높이를 만드는 방법을 알고 싶다면 여기에서 공유 할 수있는 샘플 프로젝트를 만들었습니다. – Subramanian