Проблема в том, что свойство увеличения WKWebView
не делает то, что вы думаете, оно делает.Что он делает, так это то, что он масштабирует визуализированную страницу как единое целое (подумайте о том, чтобы взять растровое изображение или изображение и изменить его размер).
Что вам нужно, так это возможность динамического масштабирования, которую обычно имеет Safari (и другие браузеры)как "масштабирование".Это отличается от magnification
, поскольку оно масштабирует макет страницы.Это увеличивает или уменьшает размеры шрифта, размеры элементов и т. Д. Страницы по отдельности.
Нет собственного (открытого) API для масштабирования страницы, как это делает Safari, но вы можете сделать почти то же самоевоспользоваться преимуществом свойства CSS zoom
.Вот расширение, которое делает именно это:
extension WKWebView {
func zoom(to zoomAmount: CGFloat) {
evaluateJavaScript("document.body.style.zoom = '\(zoomAmount)'", completionHandler: nil)
}
}
Его можно использовать так:
webView.zoom(to: 0.9)