Wyłączanie WKWebView ze skalowania zawartości do renderowania przy takim samym powiększeniu, jak robi to UIWebView

Problem

Używając WKWebView zamiast UIWebView, zauważyłem, że zawartość WKWebView została znacznie zmniejszona w porównaniu do mojej UIWebView. Chciałbym, aby WKWebView przestało to robić, i po prostu szanować moje wartości CSS dosłownie, w sposób UIWebView.

Kontekst

Używam widoków internetowych w mojej natywnej aplikacji na iOS do zawartości, która znajduje się w popowerach na iPadzie, gdzie wyświetlam treści informacyjne. Wspaniale jest móc dać to ludziom z branży treści i projektowania i powiedzieć: "po prostu Wrzuć zawartość HTML, odwołując się do połączonego pliku CSS".

Wszystko to działało po prostu świetnie podczas używania UIWebView.

Ale popowery są często dość zwarte.

Czego doświadczam

W moich wąskich popowerach zawartość jest skalowana w dół, tak jakby moja zawartość była zminiaturyzowana, aby zmieścić całą stronę internetową. Widzę, że WKWebView był przeznaczony przede wszystkim dla ludzi budujących alternatywne przeglądarki na iOS lub budujących aplikacje hybrydowe, gdzie WKWebView jest zasadniczo, przejmuję ekran.

Współczynnik powiększenia w WKWebView nie jest czymś, co można ustawić. Oczywiście, użytkownik może powiększyć, ale to niszczy cel. Nie szukam powiększonego widoku; Szukam całej zawartości, aby pasowała i zawijała słowa tak, jak w przypadku UIWebView.

Z WKWebView, w symulatorze, zobaczę rozmiar chcę, jeśli podskoczyć mój rozmiar tekstu ciała do 50px zamiast 14px. Ten kod jednak nawet nie pomaga na urządzeniu, więc napompowanie mojego CSS rozmiary też nie wchodzą w grę!

Co jest nie tak z UIWebView?

Nic takiego. Nie jest (jeszcze) przestarzały w iOS8, być może b / c nadal ma przydatność, jak doświadczam. Zauważyłem jednak, że WKWebView był szybki. I widziałem pewne spekulacje, że napis jest na ścianie dla UIWebView. Pomyślałem: "Dlaczego nie zaadoptować teraz bardziej nowoczesnego API w iOS8?"

Więc nadal używam UIWebView teraz, ale chciałbym przełączyć się na WKWebView, jeśli mogę go dostać aby uszanować mój rozmiar CSS.

Oto mój oryginalny CSS, który UIWebView ładnie renderuje, ale który WKWebView w popover renderuje w naprawdę małych czcionkach:

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;
}
Author: cuSK, 2014-09-29

1 answers

Miałem ten sam problem. Po prostu musiałem umieścić

<meta name="viewport" content="initial-scale=1.0" />

Do mojego bloku nagłówka i to rozwiązało to za mnie. Wygląda na to, że WKWebView zachowuje się bardziej jak mobilne Safari niż UIWebView, więc musisz ustawić Widok, jeśli chcesz kontrolować skalowanie lub ogólne rozmiary.

 122
Author: Craig Pearlman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-28 20:44:11