2011-12-15 59 views
1

我正在使用我的iPhone应用程序的FAQ页面。我有一些问题上面的链接将直接在底部回答。一些答案有我想要在Safari中打开而不是UIWebView的外部链接。Safari中的UIWebView打开链接不工作?

我发现这个代码here

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

    return YES; 
} 

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

注意:我有一个UIWebView委托名称wvFAQ。你认为我在代码上丢失了什么吗?

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

+0

所以...什么是你的问题? –

+0

很好地更新了这个问题。 – HardCode

+0

这里没有人有这个问题吗? – HardCode

回答

5

终于找到了答案,我的问题从here

下面是答案:

-(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; 
} 
相关问题