У меня есть WKWebView внутри UIView.
Это ограничения:
webContainerView.leftAnchor.constraint(equalTo: self.leftAnchor, constant: 0).isActive = true
webContainerView.rightAnchor.constraint(equalTo: self.rightAnchor, constant: 0).isActive = true
webContainerView.bottomAnchor.constraint(equalTo: self.bottomAnchor, constant: -10).isActive = true
contentWKWebView.navigationDelegate = self
contentWKWebView.leftAnchor.constraint(equalTo: self.webContainerView.leftAnchor, constant: 2).isActive = true
contentWKWebView.rightAnchor.constraint(equalTo: self.webContainerView.rightAnchor, constant: -2).isActive = true
contentWKWebView.topAnchor.constraint(equalTo: self.webContainerView.topAnchor, constant: 2).isActive = true
contentWKWebView.bottomAnchor.constraint(equalTo: self.webContainerView.bottomAnchor, constant: -2).isActive = true
webViewHeightConstraint = contentWKWebView.heightAnchor.constraint(equalToConstant: 100)
webViewHeightConstraint?.isActive = true // causes error
Я должен установить начальный размер высоты для WKWebView или, в противном случае, автоматически настраивать высотуподгонка содержимого не будет работать.
Это код для автоматической регулировки высоты:
extension MyCell: WKNavigationDelegate {
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("document.documentElement.scrollHeight", completionHandler: { (height, error) in
self.webViewHeightConstraint?.constant = height as! CGFloat
})
}
}
UIView и WKWebView являются подпредставлениями UITableViewCell.
Есть идеи, как заставить это работать?
Спасибо!