в моем коде существует что-то странное. Я, несомненно, забуду что-то, но я не знаю что. Я пытаюсь обработать телефон, SMS 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 телефон и ссылки http правильно печатаются NSLog.
Странный, нет?