因此,我有一个不是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;
}


我没有测试此代码,但是它将帮助您入门。

10-08 12:15