- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *url = request.URL.absoluteString;
if ([url hasPrefix:@"tel:"]) {
DLog(@"url%@",url);
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"" message:[NSString stringWithFormat:@"是否拨打电话%@?",url] delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"拨打", nil];
[alertView show];
}
NSRange range = [url rangeOfString:@"tel:"];
NSUInteger loc = range.location;
if (loc != NSNotFound) { // url的协议头是hm
// 方法名
NSString *method = [url substringFromIndex:loc + range.length];
DLog(@"method%@",method);
// 转成SEL
// 是否拨打电话400-690-6898?
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"" message:[NSString stringWithFormat:@"是否拨打电话%@?",method] delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"拨打", nil];
[alertView show];
// SEL sel = NSSelectorFromString(method);
// [self performSelector:sel withObject:nil];
}
return YES;
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
// DLog(@"buttonIndex%@",alertView.message);
NSRange range = [alertView.message rangeOfString:@"是否拨打电话"];
NSUInteger loc = range.location;
// DLog(@"%zd",loc);
if (loc != NSNotFound) {
NSString *str = [alertView.message substringFromIndex:loc + range.length];
str = [str substringToIndex:str.length -1];
DLog(@"%@",str);
}
if (1==buttonIndex) {
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:str]];
}
}
【微分享】:闲时多读书,博览聚才气;众前慎言行,低调养清气。