Мне нужно интегрировать WKWebView внутри UITableView (просьба не спрашивать об этом).WKWebView не показывает содержимое «под экраном»
Я убедился, что прокрутка WKWebView отключена, поэтому я не вижу прокручиваемого вида в прокручиваемом виде (UITableView).
Однако, когда содержимое HTML внутри WKWebview велико, скажем, дважды на экране, я обнаружил, что содержимое под экраном не отображается пользователю, то есть когда пользователь прокручивает табличный вид, есть только белый \ пустой экран, где WKWebView является ...
Я обновить высоту WebViewTableViewCell в соответствии с:
public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
let height = webView.scrollView.contentSize.height
...
...
delegate.updateWebViewCellHeight(height: self.cellHeight)
}
Я предполагаю, что это, вероятно, эффект некоторой оптимизации на WKWebView, которые позволяют ему оказывать DOM только тогда, когда они отображаются на экране.
Мой вопрос: что я могу сделать, чтобы убедиться, что весь контент внутри WKWebView показан пользователю, когда она прокручивает табличный вид?
P.S. UIWebView делает все содержимое просто отлично, по-видимому, происходит только в WKWebView
См изображение ниже:
Как и когда вы устанавливаете размер рамки/размер ячейки? Если вы остановились на отладчике представления, то видны все правильные размеры? – Wain
См. Мои изменения о том, как изменить размер ячейки webview. –
'webView.scrollView.contentSize' может быть неточным в момент публикации уведомления. Я предлагаю добавить наблюдателя в 'webView.scrollView.contentSize' keyPath, а затем обновить размер вашей ячейки. –