因此,我有一个不是Web应用程序的应用程序,而是大多数屏幕使用UIViewControllers和UIViews的应用程序。在一个特定的控制器上,我有一个UIWebView控件,该控件仅占UIViewController屏幕空间的一小部分,我从Web服务中以字符串形式加载html。
[self.webView loadHTMLString:marketingBlurb baseURL:nil];
我想知道的是,此字符串中的html链接是否可以在浏览器中打开,而不能在我的应用程序的UIWebView中打开?我怎样才能做到这一点??这有可能吗?
最佳答案
将webview的委托设置为self,并使用webView:shouldStartLoadWithRequest:navigationType拦截所有链接:
然后,您可以调用[UIApplication openURL]打开Safari。
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
if (navigationType == UIWebViewNavigationTypeLinkClicked) {
[[UIApplication sharedApplication] openURL:[request URL]];
return NO;
}
return YES;
}
我没有测试此代码,但是它将帮助您入门。