UIWebView в UIView нужны ссылки, чтобы открыть в браузере - PullRequest
2 голосов
/ 27 августа 2010

Итак, у меня есть приложение, которое не столько веб-приложение, сколько использует UIViewControllers и UIViews для большинства экранов.На одном конкретном контроллере у меня есть элемент управления UIWebView, который занимает только небольшую часть пространства экрана UIViewController, который я загружаю HTML из веб-службы в виде строки.

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

Интересно, могут ли ссылки html в этой строке открываться в браузере, а не в UIWebView в моем приложении?Как я могу это сделать??Это вообще возможно?

1 Ответ

4 голосов
/ 28 августа 2010

Установите для делегата веб-просмотра значение 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;
}

Я не тестировал этот код, но он поможет вам начать работу.

...