iPhone上的UIWebView电话链接检测

8

我的代码里有些奇怪的东西。我确定是忘了什么,但不知道是什么。我试着在UIWebView中处理电话、短信、邮件和http链接。

这是我尝试的方法:

1/ 实例化UIWebView:

webview = [[UIWebView alloc] initWithFrame:CGRectMake(0,0,320,460)]; 
webview.opaque = NO;
webview.backgroundColor = [UIColor clearColor];
webview.userInteractionEnabled = YES;
webview.dataDetectorTypes = UIDataDetectorTypeAll;

2/ 设置适当的代理:

[webview setDelegate: self];

3/ 实现委托方法(这里是简化版):

- (BOOL)webView:(UIWebView *)webView
 shouldStartLoadWithRequest:(NSURLRequest *)request
  navigationType:(UIWebViewNavigationType)navigationType; {

  NSURL *requestURL = [[ request URL] retain];
  NSLog(@">>> %@", [requestURL scheme]);
  [requestURL release];
  return YES;
}

当我使用我的调试设备点击一个http链接时,会打印出NSLog。当我点击一个电话链接时,我会收到这样的确认消息:

alt text
(来源:cahripub.com)

在iPhone模拟器中,tel和http链接都可以通过NSLog正确地打印出来。

很奇怪,不是吗?


精度,我已经尝试了所有的dataDetectorTypes值! - lefakir
我尝试使用短信和mailto链接。它们也被NSLog正确打印。 - lefakir
1个回答

5

如果您现在正在查看此内容,以下是解决方法:

self.webView.dataDetectorTypes = UIDataDetectorTypeNone;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接