Запретить WKWebView масштабировать контент для рендеринга с таким же увеличением, как UIWebView

Проблема

Используя WKWebView вместо UIWebView, я заметил, что содержимое WKWebView было значительно уменьшено по сравнению с my UIWebView. Я бы хотел, чтобы WKWebView прекратил это делать и просто уважал мои значения CSS буквально, способ UIWebView был бы.

Контекст

Я использую веб-представления в своем родном приложении iOS для содержимого, которое входит в popovers на iPad, где я показываю информационный контент. Это замечательно, если вы можете дать это контенту и спроектировать людей и сказать: "просто запустите некоторый HTML-контент, ссылаясь на связанный файл CSS".

Все это отлично работало при использовании UIWebView.

Но popovers часто довольно компактны.

Что я испытываю

В моих узких popovers содержимое уменьшается, как если бы мой контент, где вся веб-страница была миниатюризирована, чтобы соответствовать. Я вижу, что WKWebView был в первую очередь предназначен для людей, которые строят альтернативные браузеры на iOS или создают гибридные приложения, где WKWebView по существу, захватывает экран.

Коэффициент увеличения в WKWebView не может быть установлен. Конечно, пользователь может увеличить масштаб, но это побеждает цель. Я не ищу увеличенное окно просмотра; Я ищу весь контент, подходящий и переносимый словами, как в UIWebView.

С WKWebView, в симуляторе, я увижу размер, который я хочу, если я увеличиваю размер текста тела до 50 пикселей вместо 14px. Этот код, однако, даже не помогает, когда на устройстве, поэтому раздувание моих размеров CSS тоже не является вариантом!

Что не так с UIWebView?

Ну, ничего. В iOS8 он не устарел, но, возможно, b/c он имеет полезность, поскольку я испытываю. Однако я заметил, что WKWebView был быстрым. И я видел некоторые предположения, что запись на стене для UIWebView. Я подумал: "Почему бы не принять более современный API в iOS8 сейчас?"

Итак, я продолжаю использовать UIWebView на данный момент, но я бы хотел переключиться на WKWebView, если бы смог оценить его размер CSS.

Вот мой оригинальный CSS, который UIWebView отлично отображает, но который WKWebView в popover будет отображать в действительно крошечных шрифтах:

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;
}

Ответ 1

У меня была та же проблема. Я просто должен был поставить

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

в мой блок заголовка, и это решило его для меня. Похоже, WKWebView ведет себя как Mobile Safari, чем UIWebView, поэтому вам нужно установить видовое окно, если вы хотите контролировать масштабирование или общий размер.