鉴于 ios 11 上 UITableView 中的垃圾 contentSize 如何获得具有可变高度单元格的表格视图以自动调整为该内容?
此处的答案:调整 UITableView 大小以适应内容 已腐烂,不再适用于 ios 11
鉴于 ios 11 上 UITableView 中的垃圾 contentSize 如何获得具有可变高度单元格的表格视图以自动调整为该内容?
此处的答案:调整 UITableView 大小以适应内容 已腐烂,不再适用于 ios 11
看起来当UITableView
使用 Automatic Dimensions -时,它会在您滚动时动态UITableViewAutomaticDimension
计算。contentSize
所以解决方案是使用 KVO 捕捉这些变化:
var contentSizeObservation: NSKeyValueObservation?
override func viewDidLoad() {
super.viewDidLoad()
contentSizeObservation = tableView.observe(\.contentSize, options: [.new], changeHandler: { tableView, value in
// Do the setup here, this will be called multiple times
})
}
您需要将其定义contentSizeObservation
为全局(作为类成员),否则changeHandler
不会调用该块,因为该变量将被 ARC 清除。