UIWebView出現的webViewDidFinishLoad一直沒觸發的問題的解決方案
阿新 • • 發佈:2018-12-30
這幾天遇到一個很坑爹的問題。uiwebview明明介面已經出來了,但是載入動畫一直還在。情況還比較奇葩的是,在公司的wifi下才出現這種情況,切換4g網路是正常的,而且mac上的模擬器也沒有這問題。經檢查是
webViewDidFinishLoad方法一直沒觸發。當然我這裡宣告下webview.delegate已經設定了。viewdidstartload已正常觸發的情況。這個怎麼說也算是個奇葩問題了。
查了各種資料,毫無頭緒,無意中把loadrequest的方法換了個。問題居然解決了。下面記錄下,有遇到同樣問題的同學也可以試試。
//這種方式可以解決viewdidfinish不會觸發的問題
var data = NSData(contentsOfURL: NSURL(string: wkAttribute!.urlString)!)
webView?.loadData(data!, MIMEType: "text/html", textEncodingName: "UTF-8", baseURL: NSURL(string: wkAttribute!.urlString))
//這種方式會出現viewdidstart後viewdidfinish一直不觸發的問題
// var request = NSURLRequest(URL: NSURL(string: wkAttribute!.urlString)!)
// webView?.loadRequest(request)
有知道具體原因的大大也可以出來解析下原因