0

如果我在页面加载完成之前尝试单击另一个链接,didFailLoadWithError: 会触发并取消隐藏我隐藏的连接问题图像。这是我正在使用的代码:

- (void)webViewDidFinishLoad:(UIWebView *)webView {
    NSLog(@"didFinish: %@; stillLoading:%@", [[webView request]URL],
          (webView.loading?@"NO":@"YES"));
}

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

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

有谁知道一种快速的方法,让它只在应用程序启动时运行一次,并且在其余时间不再运行?

4

1 回答 1

0

这是一个委托方法,每次失败时都会触发..

尝试这样的事情。(在标题中创建一个名为 firstTimeRun 的 BOOL)

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

    if (firstTimeRun) {

        _connectionError.hidden = NO;
        firstTimeRun = NO;
    }
}

如果您只想在第一次加载时加载站点,请记住在加载站点时将 firstTimeRun 设置为 NO。

编辑:

在您的头文件(.h)中,您编写以下内容

@interface ... {

@property BOOL firstTimeRun;

}

您可能需要在方法中的某处使用 NO 对其进行初始化。您需要先发布课程的 .h 和 .m 文件,然后我才能为您提供更多帮助。

于 2013-05-29T15:30:21.033 回答