views:

31

answers:

1

So i have an app that is not so much a webapp but more uses UIViewControllers and UIViews for most screens. On one particular controller i have a UIWebView control that only occupies a small portion of the UIViewController screen real estate that i load html from a web service as a string.

[self.webView loadHTMLString:marketingBlurb baseURL:nil];

what i'm wondering is if the html links in this string can open up on the browser and not in the UIWebView in my app???? How can i do this?? Is this even possible ?

+2  A: 

Set the delegate of the webview to self, and intercept all links using webView:shouldStartLoadWithRequest:navigationType:

You can then call [UIApplication openURL] to open Safari.

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
  if (navigationType == UIWebViewNavigationTypeLinkClicked) {
    [[UIApplication sharedApplication] openURL:[request URL]];
    return NO;
  }

  return YES;
}

I didn't test this code, but it will get you started.

Philippe Leybaert
awesome, worked perfectly, no changes, thanks
slim