스크롤보기 안에 테이블보기가 있었고 tableView의 높이를 계산하고 그에 따라 크기를 조정해야했습니다. 내가 취한 단계는 다음과 같습니다.
0) scrollView에 UIView를 추가하십시오 (아마도이 단계없이 작동하지만 가능한 충돌을 피하기 위해 수행했습니다)-이것은 테이블 뷰의 컨테이너 뷰입니다. 이 단계를 수행하면 뷰 경계를 테이블 뷰의 경계로 바로 설정하십시오.
1) UITableView의 하위 클래스를 만듭니다.
class IntrinsicTableView: UITableView {
override var contentSize:CGSize {
didSet {
self.invalidateIntrinsicContentSize()
}
}
override var intrinsicContentSize: CGSize {
self.layoutIfNeeded()
return CGSize(width: UIViewNoIntrinsicMetric, height: contentSize.height)
}
}
2) 스토리 보드의 테이블 뷰 클래스를 IntrinsicTableView로 설정하십시오. http://joxi.ru/a2XEENpsyBWq0A
3) heightConstraint를 테이블 뷰로 설정하십시오.
4) 테이블의 IBoutlet을 ViewController로 드래그하십시오.
5) 테이블 높이 제약 조건의 IBoutlet을 ViewController로 드래그하십시오.
6)이 메소드를 ViewController에 추가하십시오.
override func viewWillLayoutSubviews() {
super.updateViewConstraints()
self.yourTableViewsHeightConstraint?.constant = self.yourTableView.intrinsicContentSize.height
}
도움이 되었기를 바랍니다