[英]How do I know when a page has failed to load in UIWebView as opposed to being “Stopped” by the user?
我的應用程序中有一個UIWebView,用於提供Web瀏覽功能。
我的工具欄上有一個按鈕
-(void)stopLoading;
在UIWebView上。 問題在於,當此方法發送到Web視圖時,委托會收到
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;
信息。 伴隨此調用的錯誤是: 操作無法完成。 (NSURLErrorDomain錯誤-999。)
我還使用didFailLoad消息來判斷頁面是否實際加載失敗-在這種情況下,我會向用戶顯示html格式的消息,以向他們傳達此失敗信息。
因此,問題在於,如果用戶單擊“停止”按鈕,則會顯示錯誤頁面,而不是僅顯示在停止之前加載的頁面的任何部分。
我曾希望NSError.h包含一個可以與之進行比較的錯誤代碼枚舉-但似乎我必須根據對日志中出現的錯誤代碼的觀察來自行編寫-小於理想的,因為它們將來可能會改變...
任何建議都很好,謝謝。
這些錯誤代碼在Foundation.framework的NSURLError.h中定義
我能找到解決此問題的最佳方法是使用webView給出的錯誤代碼創建一個枚舉。
看起來他們並不會改變,但是如果這樣做,嗯-哼。
因此,現在,在失敗加載方法中,我僅將錯誤對象中的錯誤代碼與枚舉進行比較,就可以看到發生了什么-看起來像這樣:
typedef enum {
BrowserErrorHostNotFound = -1003,
BrowserErrorOperationNotCompleted = -999,
BrowserErrorNoInternetConnection = -1009
} BrowserErrorCode;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.