1. 程式人生 > >UIWebView出現的webViewDidFinishLoad一直沒觸發的問題的解決方案

UIWebView出現的webViewDidFinishLoad一直沒觸發的問題的解決方案

這幾天遇到一個很坑爹的問題。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))

        //這種方式會出現viewdidstartviewdidfinish一直不觸發的問題

//        var  request = NSURLRequest(URL: NSURL(string: wkAttribute!.urlString)!)

//        webView?.loadRequest(request)

有知道具體原因的大大也可以出來解析下原因