为什么我的Web视图失败委托无法正常工作?

时间:2012-12-12 17:24:14

标签: iphone objective-c ios uiwebview

.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];
    }
}

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

3 个答案:

答案 0 :(得分:0)

检查一下:

  • 确保包含引用方法的对象确实是网络视图的delegate
  • 为网页视图的网址请求提供一个非常简短的timeoutInterval

答案 1 :(得分:0)

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

或者您可以在viewDidLoad方法中将代理连接到代码中,如下所示:

[webView setDelegate:self]

通过添加.h

确保您的视图控制器符合UIWebViewDelegate协议
@interface MyViewController : UIViewController <UIWebViewDelegate>
祝你好运:)

答案 2 :(得分:0)

也可以尝试:

在ViewController.h中

@interface ViewController : UIViewController <UIWebViewDelegate>

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

self.webView.Delegate = self;