UIWebView Динамическая высота - PullRequest
0 голосов
/ 22 октября 2018

Я хочу добавить динамическую высоту к UIWebView на основе содержимого WebView.

Я загружаю файл HTML в свой веб-просмотр.

Я также ссылался наСледующая ссылка.

Размер динамического содержимого UIWebView

Но не получил результат.

Вот мой код ....

self.mapWebView.delegate = self
let mapHtmlFile = Bundle.main.path(forResource: "map", ofType: "html")
let html = try? String(contentsOfFile: mapHtmlFile!, encoding: String.Encoding.utf8)
self.mapWebView.loadHTMLString(html!, baseURL: nil)

Метод делегирования

func webViewDidFinishLoad(_ webView: UIWebView) {
    webView.frame.size.height = 1
    webView.frame.size = webView.sizeThatFits(.zero)
    webView.scrollView.isScrollEnabled=false;
    self.cnDirectionWebViewHeight.constant = webView.scrollView.contentSize.height
    webView.scalesPageToFit = true

   // tried following code. Doesn't work
   //webView.frame.size.height = 1
   //webView.frame.size = webView.sizeThatFits(CGSize.zero)
}

Может ли кто-нибудь помочь мне справиться с этой проблемой?

Заранее спасибо ....

1 Ответ

0 голосов
/ 22 октября 2018

Быстрое решение состоит в том, чтобы достичь этого, используя фреймы, а не ограничения.Замените текущую реализацию func webViewDidFinishLoad(_ webView: UIWebView) {} следующим:

func webViewDidFinishLoad(_ webView: UIWebView) {
    webView.scrollView.isScrollEnabled=false;
    let height = webView.scrollView.contentSize.height
    webView.scalesPageToFit = false
    webView.frame.size.height = height
}

Использование ограничений:

    func webViewDidFinishLoad(_ webView: UIWebView) {
       webView.scrollView.isScrollEnabled=false
       webView.scalesPageToFit = false
       self.cnDirectionWebViewHeight.constant = 
       webView.scrollView.contentSize.height
       webView.layoutIfNeeded()
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...