Как отключить масштабирование для UIWebView в turbolinks-ios?
Я экспериментирую с адаптером turbolinks-ios для turbolinks 5.
Чтобы иметь представление, например, приветствие в самом начале, чувствовать себя еще более нативно, я бы хотел отключить некоторые UIWebView
такие функции, как масштабирование или выбор текста.
Как я могу отключить эти функции на UIWebView
пример?
Демо-приложение
Turbolinks для iOS имеет демонстрационное приложение, которое может служить примером контекста, если это облегчает ответ на вопрос.
Демо-приложение можно найти здесь: https://github.com/turbolinks/turbolinks-ios/tree/master/TurbolinksDemo
Не работает: настройка maximumZoomScale
Документация для UIScrollView
"s maximumZoomScale
гласит:
maximumZoomScale: значение с плавающей запятой, которое указывает максимальный масштабный коэффициент, который может быть применен к содержимому представления прокрутки. Это значение определяет, насколько большой контент может быть масштабирован. Он должен быть больше минимального масштаба масштабирования, чтобы масштабирование было включено. Значением по умолчанию является 1,0.
Таким образом, в контроллере представления я попытался установить свойство:
// DemoViewController.swift
class DemoViewController: Turbolinks.VisitableViewController {
override func viewDidLoad() {
super.viewDidLoad()
visitableView.webView?.scrollView.maximumZoomScale = 1.0
visitableView.webView?.scrollView.minimumZoomScale = 1.0
}
// ...
}
Но, к сожалению, это не имеет никакого эффекта.
1 ответ
Масштабирование можно отключить на стороне сервера, установив user-scalable=no
в метатеге viewport:
<head>
<meta name="viewport" content="width=device-width, user-scalable=no" />
</head>
user-scalable = no... Вы используете его, если хотите, чтобы ваше веб-приложение больше походило на нативное (с точки зрения масштабирования).
Было некоторое обсуждение, что это больше не было бы возможно в iOS 10. Но согласно выпускным версиям iOS10 бета 6, это теперь является обязательным:
Сафари
WKWebView
теперь по умолчанию уважатьuser-scalable=no
из окна просмотра. КлиентыWKWebView
может улучшить доступность и позволить пользователям увеличивать масштаб на всех страницах, устанавливаяWKWebViewConfiguration
имуществоignoresViewportScaleLimits
вYES
,