我正在加载本地文件:
[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修复它。糟糕
答案 0 :(得分:0)
检查您是否分配了一个委托,并检查您的委托是否仍然是保留的uiviewcontroller。