Problem
Bei der Verwendung WKWebView
von anstelle von UIWebView
bemerkte ich, dass der Inhalt des im WKWebView
Vergleich zu meinem massiv verkleinert wurde UIWebView
. Ich möchte, dass die WKWebView
damit aufhören und meine CSS-Werte buchstäblich respektieren, so wie es der Fall UIWebView
wäre.
Kontext
Ich verwende Webansichten in meiner nativen iOS-App für die Inhalte, die in Popovers auf einem iPad gespeichert sind, auf dem ich Informationsinhalte anzeige. Es ist großartig, dies Inhalten und Designern geben zu können und zu sagen: "Fügen Sie einfach HTML-Inhalte hinzu und verweisen Sie auf die verknüpfte CSS-Datei."
All dies hat bei der Verwendung einfach großartig funktioniert UIWebView
.
Aber Popovers sind oft recht kompakt.
Was ich erlebe
In meinen engen Popovers wird der Inhalt so verkleinert, als ob mein Inhalt eine gesamte Webseite miniaturisiert, um zu passen. Ich kann sehen, dass WKWebView in erster Linie für Leute gedacht war, die alternative Browser unter iOS oder Hybrid-Apps erstellen, bei denen WKWebView im Wesentlichen den Bildschirm übernimmt.
Der Vergrößerungsfaktor in WKWebView kann nicht eingestellt werden. Sicher, der Benutzer kann zoomen, aber das macht den Zweck zunichte. Ich suche kein vergrößertes Ansichtsfenster. Ich suche nach dem gesamten Inhalt, der wie bei UIWebView passt und in Zeilenumbrüche passt.
Mit WKWebView sehe ich im Simulator die gewünschte Größe, wenn ich meine Körpertextgröße auf 50 statt 14 Pixel erhöhe. Dieser Code hilft jedoch nicht einmal auf dem Gerät, sodass das Aufblasen meiner CSS-Größen ebenfalls keine Option ist!
Was ist falsch an UIWebView?
Naja, eigentlich nichts. Es ist (noch) nicht veraltet in iOS8, vielleicht hat es b / c immer noch Nützlichkeit, wie ich erlebe. Mir ist jedoch aufgefallen, dass WKWebView schnell war. Und ich habe einige Spekulationen gesehen, dass die Schrift für UIWebView an der Wand hängt. Ich dachte: "Warum nicht jetzt die modernere API in iOS8 übernehmen?"
Daher verwende ich UIWebView vorerst weiterhin, möchte jedoch auf WKWebView umsteigen, wenn ich meine CSS-Größe einhalten kann.
Hier ist mein ursprüngliches CSS, das UIWebView gut rendert, das WKWebView in einem Popover jedoch in wirklich winzigen Schriftarten rendert:
body {
font-family: "HelveticaNeue";
font-size: 15px;
line-height: 17px;
color: #000000;
}
h1 {
font-family: "HelveticaNeue-Bold";
font-size: 18px;
line-height: 20px;
color: #000000;
}
h2 {
font-family: "HelveticaNeue-Bold";
font-size: 16px;
line-height: 18px;
color: #000000;
}
stringHTML = "<meta name=\"viewport\" content=\"initial-scale=1.0\" />" + stringHTML