我的代码中有一些奇怪的东西.我肯定会忘记一些东西,但我不知道是什么.我尝试在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;
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 http://cahripub.com/images/bug.gif
使用iPhone模拟器,NSLog可以正确打印tel和http链接.
很奇怪,不是吗?
对于现在正在看这个的人来说,这样做会:
self.webView.dataDetectorTypes = UIDataDetectorTypeNone;