Muszę zintegrować WKWebView z UITableView (proszę nie kwestionować tego).WKWebView nie wyświetla treści "pod ekranem"
Upewniłem się, że przewijanie WKWebView jest wyłączone, w ten sposób unikam przewijania widoku w przewijanym widoku (UITableView).
Jednak, gdy treść HTML w WKWebview jest duża, powiedzmy dwa razy ekran, okazuje się, że zawartość pod ekranem nie jest pokazywana użytkownikowi, tj. Kiedy użytkownik przewija widok tabeli jest tylko biały \ pusty ekran, gdzie WKWebView jest ...
zaktualizować wysokość WebViewTableViewCell według:
public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
let height = webView.scrollView.contentSize.height
...
...
delegate.updateWebViewCellHeight(height: self.cellHeight)
}
myślę, że to prawdopodobnie efekt jakiegoś optymalizacja WKWebView które pozwalają to uczynić DOM tylko kiedy są wyświetlane na ekranie.
Moje pytanie brzmi, co mogę zrobić, aby upewnić się, że cała treść w WKWebView jest pokazywana użytkownikowi, gdy przewija widok tabeli?
P.S. UIWebView świadczy cała zawartość dobrze, wydaje się, że dzieje się tylko w WKWebView
patrz obrazek poniżej:
Jak i kiedy ustawiasz ramkę/rozmiar strony internetowej? Jeśli zatrzymasz się w widoku debuggera, czy widoki mają odpowiedni rozmiar? – Wain
Zobacz moje zmiany dotyczące zmiany rozmiaru komórki widoku z przeglądarki internetowej –
'webView.scrollView.contentSize' może nie być dokładne w momencie opublikowania powiadomienia. Sugeruję dodanie obserwatora na ścieżce 'webView.scrollView.contentSize' keyPath, a następnie uaktualnienie rozmiaru komórki z tego miejsca. –