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 回答