override func viewDidLoad() { super.viewDidLoad() myTbleView.addObserver(self, forKeyPath: "contentSize", options: .new, context: nil) } override func viewWillDisappear(_ animated: Bool) { myTbleView.removeObserver(self, forKeyPath: "contentSize") super.viewWillDisappear(true) } override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { if(keyPath == "contentSize"){ if let newvalue = change?[.newKey] { let newsize = newvalue as! CGSize tableViewHeightConstraint.constant = newsize.height } } }
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter