所以我有一个应用程序,不是一个webapp,而是更多使用UIViewControllers和UIViews用于大多数屏幕。在一个特定的控制器上,我有一个UIWebView控件,它只占用UIViewController屏幕空间的一小部分,我将Web服务中的html作为字符串加载。
[self.webView loadHTMLString:marketingBlurb baseURL:nil];
我想知道的是,这个字符串中的html链接是否可以在浏览器上打开而不是在我的应用程序中的UIWebView中?我怎样才能做到这一点??这甚至可能吗?
答案 0 :(得分:4)
将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;
}
我没有测试这段代码,但它会让你开始。