2012-07-11 6 views
2

Je construis une application avec un UIWebView.UIWebView ne détecte pas les liens de numéros de téléphone

WebView devrait charger html qui comprend tel: liens:

<a href="tel:123456789">call me</a> 

WebView ne fait pas le lien "appelez-moi" pour être cliquable.

J'ai essayé

webView.dataDetectorTypes = UIDataDetectorTypePhoneNumber 

Mais ne fonctionne pas.

J'ai regardé dans tout le stackOverflow Q & A et trouvé pas de réponse spécifique à ce problème.

Merci pour votre aide, Nur

+1

j'avais fait une même code factice comme vous l'aviez décrit fonctionne ici NSString * str = @ "call me"; webview.dataDetectorTypes = UIDataDetectorTypePhoneNumber; [webview loadHTMLString: str baseURL: nil]; – Bhupesh

Répondre

2

remplacent

<a href="tel:123456789"> call me </a> 

avec

<a href="tel://123456789">call me</a> 

espérons que cela fonctionne pour vous.

+0

Salut, ça n'a pas marché, merci d'avoir essayé. – nurxyz

+0

Ça marche pour moi. Si vous le souhaitez, vous pouvez utiliser les méthodes déléguées comme sous - (BOOL) webView: (UIWebView *) webView shouldStartLoadWithRequest: (NSURLRequest *) demande navigationType: (UIWebViewNavigationType) navigationType { NSURL * url = request.URL; Si ([url.scheme isEqualToString: @ "tel"]) { [[UIApplication sharedApplication] openURL: url]; } return YES; } – sschunara

2

Ci-dessous le code a fonctionné pour moi

Ajouter la vue web

web = [[UIWebView alloc] initWithFrame:WEBVIEW_FRAME]; 
web.dataDetectorTypes = UIDataDetectorTypeLink | UIDataDetectorTypePhoneNumber; 
NSURLRequest *req = [NSURLRequest requestWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"new" ofType:@"html"] isDirectory:NO]]; 
web.delegate =self; 
[self.view addSubview:web]; 

et la méthode déléguée

-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request 
              navigationType:(UIWebViewNavigationType)navigationType 
{ 
    if ([url.scheme isEqualToString:@"tel"]) 
    { 
     [[UIApplication sharedApplication] openURL:url]; 
    } 
} 

et mon fichier html

<html> 
    <head> 
    <h1>HTML PAGE</h1> 
    </head> 
    <a href="tel:123456789"> call me </a> 
    </html> 
Questions connexes