我已經搜索,並沒有找到解決方案,所以希望有人可以幫助。iPhone - UIWebView不調用didFailLoadWithError沒有數據連接
我有一個用戶按下按鈕時調用的UIWebView。一切都很好,除非你在手機沒有數據連接的情況下解釋行爲。
當試圖打開的UIWebView爲第一時間與電話飛行模式或不帶數據連接:
- UIWebView中開始加載
- 加載失敗
一旦UIWebView被分配並且第一次加載失敗,點擊鏈接到IBAction(調用[webView reload])的刷新按鈕會導致:
- 無論手機在初始加載失敗後是否有數據連接,都會調用刷新IBAction,但我的NSLogs告訴我既沒有調用webViewDidStartLoad,webViewDidFinishLoad也沒有調用webView ... didFailLoadWithError。
如果我離開應用程序運行和關閉數據連接的設備(例如關閉飛行模式,)然後回到我的應用程序並點擊刷新按鈕,[webView的重裝]被調用,但webViewDidStartLoad (並因此webViewDidFinishLoad)不被調用。
下面是相關代碼:
要打開web視圖:
-(IBAction)loadWebView {
webView = [[UIWebView alloc] init];
webView.scalesPageToFit = YES;
[webView setDelegate:self];
NSString *urlAddress = @"http://google.com";
NSURL *url = [NSURL URLWithString:urlAddress];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView loadRequest:requestObj];
}
刷新:
-(IBAction)reloadWebView{
[webView reload];
NSLog(@"RELOAD");
}
webViewDidStart,DidFinish,didFailLoadWithError:
- (void)webViewDidStartLoad:(UIWebView *)webView
{
NSLog(@"START LOAD");
}
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSLog(@"FINISH LOAD");
}
- (void)webView:(UIWebView *) webView didFailLoadWithError:(NSError *)error
{
NSLog(@"DID FAIL");
}
思考?
darvids0n,關於最初依靠可達性而不是獨自完成的好點。我知道這門課,但想知道是否可以輕鬆完成。無論哪種方式,使用可達性肯定是要走的路,如果僅僅因爲UIWebView不是我認爲我們很多人想要的那樣。非常感謝! –