我有一个非常简单的UIWebView,其中包含我的应用程序包中的内容.我希望Web视图中的任何链接都在Safari中打开,而不是在Web视图中打开.这可能吗?
我有一个UIWebView内置的应用程序UIViewController.我从Web服务加载HTML作为字符串,如下所示:
self.webView loadHTMLString:_string baseURL:nil
Run Code Online (Sandbox Code Playgroud)
是否可以在浏览器中打开此字符串中的HTML链接,而不是在我的应用程序中的UIWebView中打开?我怎样才能做到这一点?
我在UIViewController中试过这个"托管"UIWebVIew:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
[[UIApplication sharedApplication] openURL:[request URL]];
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
它似乎没有工作......
有任何想法吗?
我正在iPhone App中的FAQ页面上工作.我有一些问题链接在顶部将直接回答在底部.一些答案有外部链接,我想在Safari而不是UIWebView中打开.
我发现这个代码 从这里:
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
if ( inType == UIWebViewNavigationTypeLinkClicked ) {
[[UIApplication sharedApplication] openURL:[inRequest URL]];
return NO;
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
出于某种原因,我需要单击链接两次以打开链接.第一次触摸它突出显示的链接.第二次触摸它到目的地的链接或它在Safari中打开的外部链接.但是,如果我删除上面的代码,它在第一次触摸时工作,但外部链接在我的WebView中打开.
注意:我有一个UIWebView委托名称wvFAQ.你觉得我在代码上遗漏了什么吗?
问题:如何单击打开链接?