-2

。H

IBOutlet UIWebView *webview;

.m

- (void)viewDidLoad {
    [webview loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://blabla.com"]]];
}

- (void)webView:(UIWebView *)webViewfail didFailLoadWithError:(NSError *)error {
    if([webViewfail isEqual:webview]) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Connection Failed"
                                                        message:@"Check your Internet connection before refreshing."
                                                       delegate:self
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];
        [alert show];
    }
}

我不知道我做错了什么,我试图让它出现但关闭互联网连接。任何提示或建议都会有所帮助。

4

3 回答 3

0

检查这个:

  • 确保包含引用方法的对象确实是 Web 视图的delegate.
  • 给 web 视图的 url 请求一个非常短的timeoutInterval.
于 2012-12-12T17:49:56.567 回答
0

确保您已在界面构建器中连接了委托(如果您正在使用该委托)。您可以通过选择 Web 视图来执行此操作,并拖动(同时保持控制)到视图控制器/文件的所有者,然后选择委托(当您释放鼠标时会弹出)。

或者,您可以在 viewDidLoad 方法的代码中连接您的委托,如下所示:

[webView setDelegate:self]

通过添加 .h 确保您的视图控制器符合 UIWebViewDelegate 协议

@interface MyViewController : UIViewController <UIWebViewDelegate>

祝你好运 :)

于 2012-12-12T18:12:49.560 回答
0

也试试这个:

在你的 ViewController.h

@interface ViewController : UIViewController <UIWebViewDelegate>

在 [super viewDidLoad] 下面的 ViewController.m 中添加:

self.webView.Delegate = self;
于 2012-12-20T06:49:44.723 回答