UIWebView中链接失效的解决办法

今天,项目中的UIWebView中有几个链接,发现点击链接没有任何反应。

NSString *str = [[NSString alloc] initWithString:@"<html>•Vision testing<br/>•Contact lens testing and fitting<br/>•Extensive frame selection<br/>•Workshop on site<br/>•Student discount on frames<br/><a href='http://www.barryandsargent.co.nz/children.html'>•Children’s vision Specialist</a><br/><a href='http://www.barryandsargent.co.nz/training.html'>•Vision training</a><br/><a href='http://www.barryandsargent.co.nz/screening.html'>•Diabetic retinopathy screening</a></html>"];
[self.webView loadHTMLString:str baseURL:nil];
[str release];

设置UIWebView的delegate,然后加入以下代码:

- (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;
}

现在,再点击链接就正常了。

猜你喜欢

转载自eric-gao.iteye.com/blog/1632047
今日推荐