в моем коде есть что-то странное. Я обязательно что-то забуду, но я не знаю что. Я пытаюсь обрабатывать ссылки на телефон, смс-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. Когда я касаюсь телефонной ссылки, у меня появляется такое подтверждение:
(источник: cahripub.com )
С помощью iPhone Simulator NSLog правильно печатает ссылки на тел и http.
Странно, нет?