2012-08-02 100 views
0

我知道有委託方法。 在我的情況下,情況有點不同。當我加載我的請求時,會發生後續調用。所以這個頁面會被3個url加載回來。之後,它停止。如何知道UIWebView將不會加載?

當它完成加載所有內容後,實際上我想做一些類似'autosubmit'的操作,這對移動瀏覽器來說是不可能的。我正在尋找工作。但爲此,我需要確保webView已完成加載。

所以我的問題是,是否有任何適當的方式來發現Web視圖終於停止加載,然後我可以嘗試做一些我的'autosubmit'部分?

+0

可能重複的[UIWebView didFinishLoading多次觸發](http://stackoverflow.com/questions/1842370/uiwebview-didfinishloading-fires-multipletimes)? – mAu 2012-08-02 07:19:44

+1

嘗試了什麼建議在那裏,沒有太多的幫助,我看到webView.loading變量在整個調用中保持相同的值。 – 2012-08-02 09:18:23

+0

@VaibhavTekam是對的。不幸的是,UIWebView委託方法非常不可靠。 – Stunner 2012-08-02 10:31:39

回答

0

我有一個檢測Web視圖完成加載部分問題的檢測答案不幸的是,我發現最可靠的方法是每當webViewDidBeginLoad:被調用時遞增計數器,每當webViewDidFinishLoading遞減時:和webViewDidFailWithError:被調用。只要計數器等於0,就知道Web視圖沒有加載。

將此檢查放在webViewDidFinishLoading中:and webViewDidFailWithError:方法將允許您確定Web何時完成或停止加載(如果發生故障)。

+0

在webViewDidStartLoad中:我會增加第一次爲1的計數。然後webViewDidFinishLoading會被調用,我會減少它。現在它將爲0.但是在那之後不久,由於重定向或ajax調用,我的頁面將再次被加載。所以,這種方法無濟於事。 – 2012-08-02 09:24:18

+0

嘗試減少一定的延遲(例如0.5s)。如果在此期間提出了任何請求,則您的計數器仍然保持值> 0。 – mAu 2012-08-02 10:19:46