Вы должны реализовать shouldStartLoadWithRequest
UIWebViewDelegate. Здесь вы можете увидеть, когда UIWebView начнет загружать URL. Затем вы можете указать, какие из них должны быть загружены в это веб-представление, а какие - в Safari.
Мой код выглядит так:
-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType
{
if (inType != UIWebViewNavigationTypeLinkClicked)
{
//This was not a clicked link, so is probably the initial load
//and should be loaded in the UIWebView
return YES;
}
//This was a clicked link, so load using Safari
[[UIApplication sharedApplication] openURL:[inRequest URL]];
return NO;
}
Здесь я использую UIWebViewNavigationType
, чтобы определить, был ли это щелчок по ссылке, и отвечаю соответствующим образом.