UIWebView手机链接检测iphone

lef*_*kir 8 iphone cocoa-touch objective-c uiwebview

我的代码中有一些奇怪的东西.我肯定会忘记一些东西,但我不知道是什么.我尝试在UIWebView中处理手机,短信mailto和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;
Run Code Online (Sandbox Code Playgroud)

2 /设置适当的代表:

[webview setDelegate: self];
Run Code Online (Sandbox Code Playgroud)

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

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

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

使用我的调试设备,当我触摸http链接时,将打印NSLog.当我触摸电话链接时,我有这样的确认消息:

alt text http://cahripub.com/images/bug.gif

使用iPhone模拟器,NSLog可以正确打印tel和http链接.

很奇怪,不是吗?

Mat*_*jan 5

对于现在正在看这个的人来说,这样做会:

self.webView.dataDetectorTypes = UIDataDetectorTypeNone;
Run Code Online (Sandbox Code Playgroud)