Saya memiliki tampilan tabel di dalam tampilan gulir dan harus menghitung tinggi tableView dan mengubah ukurannya. Itu adalah langkah-langkah yang telah saya ambil:
0) tambahkan UIView ke scrollView Anda (mungkin akan bekerja tanpa langkah ini, tetapi saya melakukannya untuk menghindari kemungkinan konflik) - ini akan menjadi tampilan containr untuk tampilan tabel Anda. Jika Anda mengambil langkah ini, maka atur batas tampilan langsung ke tampilan tabel.
1) membuat subkelas dari 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) mengatur kelas tampilan tabel di Storyboard ke IntrinsicTableView: tangkapan layar: http://joxi.ru/a2XEENpsyBWq0A
3) Setel batasan ketinggian ke tampilan tabel Anda
4) seret IBoutlet tabel Anda ke ViewController Anda
5) seret IBoutlet dari batasan ketinggian tabel Anda ke ViewController Anda
6) tambahkan metode ini ke dalam ViewController Anda:
override func viewWillLayoutSubviews() {
super.updateViewConstraints()
self.yourTableViewsHeightConstraint?.constant = self.yourTableView.intrinsicContentSize.height
}
Semoga ini membantu