Tôi đã có chế độ xem bảng bên trong chế độ xem cuộn và phải tính toán chiều cao của bảng và thay đổi kích thước cho phù hợp. Đó là những bước tôi đã thực hiện:
0) thêm UIView vào scrollView của bạn (có thể sẽ hoạt động mà không có bước này nhưng tôi đã làm điều đó để tránh mọi xung đột có thể xảy ra) - đây sẽ là chế độ xem chứa cho chế độ xem bảng của bạn. Nếu bạn thực hiện bước này, sau đó đặt đường viền khung nhìn sang chế độ xem của bảng.
1) tạo một lớp con của 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) đặt lớp của chế độ xem bảng trong Storyboard thành IntrinsicTableView: ảnh chụp màn hình: http://joxi.ru/a2XEENpsyBWq0A
3) Đặt heightConstraint cho chế độ xem bảng của bạn
4) kéo IBoutlet của bảng vào ViewContoder của bạn
5) kéo IBoutlet của ràng buộc chiều cao của bảng của bạn vào ViewContoder của bạn
6) thêm phương thức này vào ViewContoder của bạn:
override func viewWillLayoutSubviews() {
super.updateViewConstraints()
self.yourTableViewsHeightConstraint?.constant = self.yourTableView.intrinsicContentSize.height
}
Hi vọng điêu nay co ich