Ich habe dieses Problem mit KVO gelöst.
Fügen Sie zunächstObserver für WKWebViews Inhaltsgröße scrollView wie folgt hinzu:
%Vor%Und als nächstes erhalten Sie die Änderung wie folgt:
%Vor%Es ist einfach, die Inhaltshöhe von webview zu erreichen.
Vergessen Sie nicht, den Beobachter zu entfernen:
%Vor% Ich habe diese Zeile in deinit
geschrieben.
BEARBEITEN:
Um die bestmögliche Höhenberechnung zu erhalten, habe ich am Ende ein paar Dinge getan, um die beste Höhe zu erreichen:
Das oben genannte hat die genauesten Ergebnisse für mich.
ORIGINAL:
Ich habe versucht, die Bildlaufansicht KVO und ich habe versucht, Javascript für das Dokument zu bewerten, mit clientHeight
, offsetHeight
, etc ...
Was für mich letztendlich funktionierte, ist: document.body.scrollHeight
. Oder verwenden Sie scrollHeight
Ihres obersten Elements, z. ein Container div
.
Ich höre die loading
WKWebview Eigenschaftenänderungen mit KVO:
Und dann:
%Vor% Die updateWebviewFrame
Implementierung:
WKWebView hat das Laden nicht beendet , wenn didFinishNavigation heißt - Bug in WKWebView? WKWebView verwendet keine Delegierung, um Sie darüber zu informieren, wenn der Inhalt vollständig geladen wurde. Sie können einen neuen Thread erstellen, um den Status von WKWebView zu überprüfen.
%Vor%Tags und Links wkwebview