Pour élargir ce que Randy l'a dit, c'est ce que j'utilise dans mon application pour faire de chaque http://, https://, et mailto:// URL de l'ouvrir à l'extérieur Safari ou les applications de Messagerie:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
{
NSURL *requestURL =[ [ request URL ] retain ];
if ( ( [ [ requestURL scheme ] isEqualToString: @"http" ] || [ [ requestURL scheme ] isEqualToString: @"https" ] || [ [ requestURL scheme ] isEqualToString: @"mailto" ])
&& ( navigationType == UIWebViewNavigationTypeLinkClicked ) ) {
return ![ [ UIApplication sharedApplication ] openURL: [ requestURL autorelease ] ];
}
[ requestURL release ];
return YES;
}
Randy dit, vous aurez envie de mettre en œuvre ce à l'intérieur quelle que soit la classe que vous définissez à être le délégué de la UIWebView. Pour avoir de sélectionner uniquement les Url de lancement de Safari, vous pouvez modifier leur régime de http:// safari://, ou quelque chose de similaire, et seulement à coup de pied ces Url off pour le système (après le remplacement de la coutume schéma d'URL avec l'adresse http://).
Je le fais dans ma interne à l'aide de la documentation, qui est HTML affiché dans une UIWebView, de sorte que je n'ai pas de problèmes dans le processus d'examen avec le fait d'avoir un navigateur web intégré dans mon application.