Safari中的UIWebView打开链接无法正常工作?

Har*_*ode 1 html iphone objective-c uiwebview ios

我正在iPhone App中的FAQ页面上工作.我有一些问题链接在顶部将直接回答在底部.一些答案有外部链接,我想在Safari而不是UIWebView中打开.

我发现这个代码这里:

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

     return YES;
}
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我需要单击链接两次以打开链接.第一次触摸它突出显示的链接.第二次触摸它到目的地的链接或它在Safari中打开的外部链接.但是,如果我删除上面的代码,它在第一次触摸时工作,但外部链接在我的WebView中打开.

注意:我有一个UIWebView委托名称wvFAQ.你觉得我在代码上遗漏了什么吗?

问题:如何单击打开链接?

Har*_*ode 5

终于从这里找到了我的问题的答案

这是答案:

-(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; 
}
Run Code Online (Sandbox Code Playgroud)