UIWebview внутри UICollectionView, как остановить перезагрузку веб-просмотра при просмотре коллекции прокрутки - PullRequest
0 голосов
/ 24 мая 2019

У меня есть UIWebView внутри UICollectionViewCell, всякий раз, когда я прокручиваю коллекцию, просматриваю, что мое веб-представление перезагружается. Это занимает так много времени.

Я сохранил некоторые логические значения, чтобы остановить перезагрузку веб-просмотра, если веб-просмотр этой ячейки уже загружен. Но это вызывает проблему несовпадения ячеек (последняя загруженная или другие данные веб-просмотра ячеек отображаются в ячейках)

Я загружаю веб-просмотр, используя строку HTML.

cell.webView.loadHTMLString(updatedString, baseURL: nil)

Мой интерфейс выглядит как ... enter image description here

1 Ответ

0 голосов
/ 24 мая 2019

Вы можете проверить, доступен ли HTML-контент в веб-просмотре или нет. В методе cellForRow, если строка html пуста, вызовите метод loadHTMLString.

if let htmlString = self.webView1.stringByEvaluatingJavaScript(from: "document.body.innerHTML") {
    if htmlString.isEmpty {
        self.webView1.loadHTMLString("<p>asda</p><b>asdg</b>", baseURL: nil)
    } else {
        print("html already loaded")
    }
}

Использовать WKWebView . UIWebView устарел

let webView = WKWebView()

self.webView.evaluateJavaScript("document.body.innerHTML", completionHandler: { (string, error) in
    if let htmlString = string as? String{
        if htmlString.isEmpty {
            self.webView.loadHTMLString("<p>asda</p><b>asdg</b>", baseURL: nil)
        } else {
            print("html already loaded")
        }
    }
})
...