我在UITableViewCell中有UIWebView(url for ex。:http://advisa.work/bank_partner/webview01.html,它具有可调整大小的内容高度)。 所以我观察它contentSize
func startObservingHeight() {
let options = NSKeyValueObservingOptions([.new])
webView.addObserver(self, forKeyPath: "scrollView.contentSize", options: options, context: nil)
}
因此,只有当webView的contentSize增长时,才会调用下面的代码。所以我增加了我的tableViewCell,当我缩小html文档的某些部分(css更改)时,下面的函数没有调用,我无法调整单元格大小。
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if let zeChange = change as? [NSKeyValueChangeKey: NSValue] {
let newSize = zeChange[NSKeyValueChangeKey.newKey]?.cgSizeValue
changeHeight?(newSize.height)
}
}
这是我的回调变量:
var changeHeight: ((CGFloat?) -> ())?