1

リンクを含む UIWebView があります。「mailto」を含むリンクを除き、これらのリンクはアプリ内の別のビューで開く必要があります。これを実現するために、UIWebViews デリゲート内で次のコードを使用しています。

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType 
{
    if (navigationType == UIWebViewNavigationTypeLinkClicked) 
    {
        NSRange mailPos = [[[request URL] absoluteString] rangeOfString:@"mailto:"];
        if (mailPos.location == NSNotFound)
        {
            self.parent.browserView.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
            [self.parent.setupViewC presentModalViewController:self.parent.browserView animated:TRUE];
            [self.parent.browserView.wvMainView loadRequest:request];
        }   
        else [[UIApplication sharedApplication] openURL:request.URL];
        return FALSE;
    }
    return TRUE;
}

これは、シミュレーターと iPhone では問題なく動作しますが、iPod ではまったく動作しません。リンクをクリックしても、iPod Touch では何も起こりません。

通話中

[self.parent.browserView.wvMainView loadRequest:request];

ただし、UIButton をクリックすると機能します。では、UIWebView 内のリンクを iPod でも機能させる方法はありますか?

4

1 に答える 1

0

[[UIApplication sharedApplication] openURL:request.URL]; を実行してみてください。メインスレッドで

それ以外の場合は、次のことを試してください

[自己 performSelectorOnMainThread:.....];

于 2010-06-30T05:09:06.410 に答える