2

以下のコードを使用して、ユーザーが Web ビューで Web ページ表示の URL リンクをタップしたときにサファリを起動しました。

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request 
        navigationType:(UIWebViewNavigationType)navigationType
{
    if (navigationType == UIWebViewNavigationTypeLinkClicked)
    {
        if (![[UIApplication sharedApplication] openURL:[request URL]])
            return NO;
    }
    else
    {
        return YES;
    }
}

iOS 4 と iOS 5 の両方で動作します。

しかし、iOS4ではSafariを立ち上げたのですが、ブラウザを閉じてアプリに戻るとWebビューはSafariに送ったURLのままでした。

これを回避する方法は?

4

2 に答える 2

0

削除してからお試しください!if (![[UIApplication sharedApplication] openURL:[request URL]]) から、以下のように-

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

それはあなたを助けるかもしれません....

于 2012-04-10T10:33:57.410 に答える
0
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request 
        navigationType:(UIWebViewNavigationType)navigationType
{
    if (navigationType == UIWebViewNavigationTypeLinkClicked)
    { 
        if ([[UIApplication sharedApplication] openURL:[request URL]])
            return NO;
    }
    else
    {
        return YES;
    }
}
于 2012-04-10T07:23:20.083 に答える