Поскольку я мог просто найти некоторые устаревшие/неработающие решения моей проблемы, я решил снова задать этот вопрос. (См. Устаревшие/неправильные решения:)
-
WKWebView: возможно ли предварительно загрузить несколько URL-адресов?
-
Swift 3, iOS 10.3 - Предварительная загрузка UIWebView во время запуска экрана
Мое приложение разделено в одной нативной части и одной части HTML. HTML сохраняется как локальный файл (index.html) и должен загружаться в представление myWebView
.
@IBOutlet weak var myWebView: UIWebView!
func loadWebview() {
let url = Bundle.main.url(forResource: "index", withExtension: "html")
let request = URLRequest(url: url!)
myWebView.loadRequest(request)
myWebView.scrollView.isScrollEnabled = false
myWebView.allowsLinkPreview = false
myWebView.delegate = self
}
Поскольку мое дерево DOM очень велико, переход из основной части в веб-часть (при нажатии кнопки) занимает довольно много времени - по крайней мере, для первого после этого я уверен, что webView-запрос получает кеширование.
To my question
: Как я могу предварительно загрузить WebView в приложении init, чтобы избежать белого экрана (возможно, 0,5 с - 1 с) при переключении с родного на Веб-часть?
ИЗМЕНИТЬ:
WKWebView отображает полосу прокрутки, пока UIWebView не был!
Используя (например, с UIWebView) эти стили:
::-webkit-scrollbar {
display: none;
}
не работает и добавляет следующие строки:
webview.scrollView.showsHorizontalScrollIndicator = false
webview.scrollView.showsVerticalScrollIndicator = false
также не работает.