У мене було подання таблиці у вікні прокрутки, і довелося обчислити висоту tableView та змінити її відповідно. Це кроки, які я зробив:
0) додайте UIView до свого scrollView (ймовірно, він буде працювати без цього кроку, але я зробив це, щоб уникнути можливих конфліктів) - це буде перегляд контейнера для подання таблиці. Якщо ви зробите цей крок, то встановіть межі поглядів праворуч на представлення таблиці.
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) встановити клас подання таблиці в Storyboard to IntrinsicTableView: скріншот: http://joxi.ru/a2XEENpsyBWq0A
3) Встановіть обмеження висоти для подання таблиці
4) перетягніть IBoutlet зі свого столу на свій ViewController
5) перетягніть IBoutlet обмеження висоти таблиці у ваш ViewController
6) додайте цей метод у свій ViewController:
override func viewWillLayoutSubviews() {
super.updateViewConstraints()
self.yourTableViewsHeightConstraint?.constant = self.yourTableView.intrinsicContentSize.height
}
Сподіваюся, це допомагає