2013-05-29 9 views
0

웹보기에서 이상한 버그를 발견했습니다. 장치가 인터넷에 연결되어 있는지 확인하는 앱이 있습니다. 연결되어 있으면 오류 이미지가 숨겨져 있습니다. 연결되어 있지 않으면 오류 이미지가 나타납니다. 문제는 페이지로드가 끝나기 전에 다른 링크를 클릭하여 클릭하면 didFailLoadWithError:이 연결 문제 이미지를 실행하고 숨김 해제하는 것입니다.`didFailLoadWithError :`Issues

그때 다른 링크를 눌러 로그에 "아직로드"를 참조하십시오 때까지 기다릴 경우
- (void)webViewDidFinishLoad:(UIWebView *)webView { 
    NSLog(@"didFinish: %@; stillLoading:%@", [[webView request]URL], 
      ([email protected]"NO":@"YES")); 
} 

-(void)webView:(UIWebView *)myWebView didFailLoadWithError:(NSError *)error { 

    NSLog(@"No internet connection"); 
    _connectionError.hidden = NO; 
} 

는, 모두가 잘 : 여기에 내가 사용하고 코드입니다. 해당 메시지를보기 전에 링크를 누르면 didFailLoadWithError:이 연결 문제를 발생시키고 숨김 해제합니다. 나는 Objective-C와 프로그래밍에 새로운 것이기 때문에 이것을 고치는 방법을 모른다.

didFailLoadWithError:은 앱을 시작할 때 한 번만 실행할 수 있습니다.

+0

기본적으로 나는 앱에서'didFailLoadWithError :'를 한 번만 실행하는 방법을 찾고 있습니다. – John

답변

1

내가 사용한 해결책은 오류 코드를 확인하는 것이 었습니다. 코드가 연결 오류와 같으면 오류 이미지를 숨 깁니다.

1

didFailLoadWithError는 웹 페이지로드에 실패 할 때마다 호출됩니다. 현재 페이지가로드되기 전에 다른 페이지를로드하려고 할 때 발생합니다.

당신은 어떤 인터넷 등의 도달 가능성을 사용하는 등 연결이없는 경우 감지하는 다른 방법을 시도해야합니다 : 웹보기에서 http://developer.apple.com/library/ios/#samplecode/Reachability/Introduction/Intro.html

또 다른 방법은 단순히 호출 stopLoading가 : shouldStartLoadWithRequest : navigationType : didFailLoadWithError 트리거의 특정 사건에 대한 위임 방법 이전 링크가 아직 웹보기에로드되는 동안 사용자가 다른 링크를 누를 때

+0

나는 Reachability를 시도했지만 그것은 완전히 엉망이었고 내 머리 위로 갔다. 나는'webView : shouldStartLoadWithRequest : navigationType :'에'stopLoading'을 호출하려고합니다. – John

+0

그 중 하나가 작동하지 않았다, 기본적으로 그냥 응용 프로그램에서'didFailLoadWithError :'를 한 번만 실행하는 방법을 찾고 있습니다. – John

+0

@OralB loadHTMLString 메서드가 호출되기 전에 stopLoading을 호출 할 수 있습니까? –