UIWebView обнаружение телефонных ссылок на iphone - PullRequest
8 голосов
/ 16 декабря 2009

в моем коде есть что-то странное. Я обязательно что-то забуду, но я не знаю что. Я пытаюсь обрабатывать ссылки на телефон, смс-mailto и http в UIWebView.

Вот как я стараюсь:

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 Simulator NSLog правильно печатает ссылки на тел и http.

Странно, нет?

1 Ответ

5 голосов
/ 14 марта 2013

Для тех, кто смотрит на это сейчас, это сделает это:

self.webView.dataDetectorTypes = UIDataDetectorTypeNone;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...