0
我正在創建一個tableview,當單元格數量增加或減少時,它會在高度上動態變化。爲了完成這一點,我添加了一個觀測到我的tableview:TableView的觀察值
tableView.addObserver(self, forKeyPath: "contentSize", options: .new, context: nil)
我收到此用下面的方法:
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
tableView.frame = CGRect(x: tableView.frame.origin.x, y: tableView.frame.origin.y, width: tableView.frame.size.width, height: tableView.contentSize.height)
tableView.reloadData()
}
然而,當我運行此我得到一個錯誤:
Thread 1: EXC_BAD_ACCESS (code=2, address=0x7ffeed414ff8)
我相信這些行導致該錯誤的,並已試圖打電話super.observeValue(...)
任何幫助將不勝感激。
你爲什麼這樣做? tableviews height是屏幕上容器的高度,其contentSize.height是正在滾動的內容的高度。當這兩個值相等時,表格將不會滾動。 – Losiowaty