Auto diamancell tableview in swift code example
Example: Resizing UITableView to fit content
// Swift 5 and 4.2 solution without KVO, DispatchQueue, or setting constraints yourself.
// This solution is based on Gulz's answer.
// 1) Create a subclass of UITableView:
import UIKit
final class ContentSizedTableView: UITableView {
override var contentSize:CGSize {
didSet {
invalidateIntrinsicContentSize()
}
}
override var intrinsicContentSize: CGSize {
layoutIfNeeded()
return CGSize(width: UIView.noIntrinsicMetric, height: contentSize.height)
}
}
// 2) Add a UITableView to your layout and set constraints on all sides. Set the class of it to ContentSizedTableView.
// 3) You should see some errors, because Storyboard doesn't take our subclass' intrinsicContentSize into account. Fix this by opening the size inspector and overriding the intrinsicContentSize to a placeholder value. This is an override for design time. At runtime it will use the override in our ContentSizedTableView class