2010-08-27 2 views
2

Donc, j'ai une application qui n'est pas tellement une webapp mais utilise plus UIViewControllers et UIViews pour la plupart des écrans. Sur un contrôleur particulier j'ai un contrôle UIWebView qui occupe seulement une petite partie de l'écran UIViewController immobilier que je charge html à partir d'un service Web en tant que chaîne.UIWebView dans UIView besoin de liens pour ouvrir dans le navigateur

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

ce que je me demande est si les liens html dans cette chaîne peut ouvrir le navigateur et non dans le UIWebView dans mon application ???? Comment puis-je faire ceci?? Est-ce seulement possible ?

Répondre

4

Définir le délégué du WebView à auto et intercepter tous les liens en utilisant webView: shouldStartLoadWithRequest: NavigationType:

Vous pouvez ensuite appeler [UIApplication openURL] pour ouvrir Safari.

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

    return YES; 
} 

Je n'ai pas testé ce code, mais il vous aidera à démarrer.

+0

génial, a parfaitement fonctionné, pas de changements, merci – slim

Questions connexes