2011-12-15 6 views
1

私はiPhoneアプリケーションのFAQページに取り組んでいます。トップにいくつかの質問リンクがあり、下に答えるように指示します。一部の回答には、UIWebViewの代わりにSafariで開く外部リンクがあります。私は、リンクを開くために二回のリンクをクリックする必要が何らかの理由でSafariのUIWebViewオープンリンクが機能していませんか?

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

    return YES; 
} 

私はこのコードhereから を見つけました。初めてハイライト表示されるリンクに触れてください。 2回目は、リンク先に移動するか、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; 
} 
関連する問題