单击本地文件中的外部链接时,不会调用shouldStartLoadWithRequest

时间:2012-11-12 09:54:35

标签: objective-c ios

我正在加载本地文件:

[web loadRequest:[NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle]
                                                                          pathForResource:@"about" ofType:@"html"]isDirectory:NO]]];

尝试使用以下内容在Safari中打开此文件中的任何外部链接:

-(BOOL) webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request     navigationType:(UIWebViewNavigationType)navigationType {

    NSURL *url = [request URL];
if ([[url scheme] isEqualToString:@"http"] || [[url scheme] isEqualToString:@"https"]) {
    [[UIApplication sharedApplication] openURL:url];
    return NO;
} else
return YES;
}

但这永远不会被召唤。阅读我可以看到shouldStartLoadWithRequest不会被本地文件调用,但是当打开外部链接时,应该调用它吗?


添加     web.delegate = self;

viewDidLoad修复它。糟糕

1 个答案:

答案 0 :(得分:0)

检查您是否分配了一个委托,并检查您的委托是否仍然是保留的uiviewcontroller。