关键一行代码
下面一行代码执行过后就会拨打出去了,不过要在真机测试,模拟器好像不行 _
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:phoneNumber"]];//phoneNumber是电话号码,例如1234567890
参考代码
我实现的是点击label,然后拨打label里的电话号码。可以直接是点击button,这样就可以直接在响应里写响应事件了,比这个要方便 2333333 _
#1->首先可以在 viewDidLoad 里加入下面代码
self.phoneNum.userInteractionEnabled = YES; //phoneNum是一个label,这行让label获取点击权限
[self.phoneNum addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTapOnLabel:)]]; //添加响应事件
#2->然后去实现响应函数
我加了对用户的提醒,在用户点击数字后,弹出个提示框,提示拨打phoneNumber,确认或取消,所以代码看起来有点多,关键就是文章开头那行代码
- (void)handleTapOnLabel:(id)sender {
NSString *ph1 = @"tel:";
ph1 = [ph1 stringByAppendingString:self.phoneNum.text];
UIAlertController *alertControler = [UIAlertController alertControllerWithTitle:@"拨号" message:self.phoenNum.text preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *noAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action){
return ;
}];
UIAlertAction *yesAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action){
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phone]];
}];
[alertControler addAction:noAction];
[alertControler addAction:yesAction];
[self presentViewController:alertControler animated:YES completion:nil];
}