今天,项目中的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; }
现在,再点击链接就正常了。