解決iOS打電話提示框反應慢

來源:互聯網
上載者:User

添加類方法,然後直接調用

+ (void)callPhoneStr:(NSString*)phoneStr withVC:(UIViewController *)selfvc{if (phoneStr.length >= 10) {NSString *str2 = [[UIDevice currentDevice] systemVersion];if ([str2 compare:@"10.2" options:NSNumericSearch] == NSOrderedDescending || [str2 compare:@"10.2" options:NSNumericSearch] == NSOrderedSame){NSString* PhoneStr = [NSString stringWithFormat:@"telprompt://%@",phoneStr];[[UIApplication sharedApplication] openURL:[NSURL URLWithString:PhoneStr] options:@{} completionHandler:^(BOOL success) {NSLog(@"phone success");}];}else {NSMutableString* str1 = [[NSMutableString alloc]initWithString:phoneStr];// 存在堆區,可變字串if (phoneStr.length == 10) {[str1 insertString:@"-"atIndex:3];// 把一個字串插入另一個字串中的某一個位置[str1 insertString:@"-"atIndex:7];// 把一個字串插入另一個字串中的某一個位置}else {[str1 insertString:@"-"atIndex:3];// 把一個字串插入另一個字串中的某一個位置[str1 insertString:@"-"atIndex:8];// 把一個字串插入另一個字串中的某一個位置}NSString * str = [NSString stringWithFormat:@"是否撥打到電話\n%@",str1];UIAlertController *alert = [UIAlertController alertControllerWithTitle:str message: nil preferredStyle:UIAlertControllerStyleAlert];// 設定popover指向的itemalert.popoverPresentationController.barButtonItem = selfvc.navigationItem.leftBarButtonItem;// 添加按鈕[alert addAction:[UIAlertAction actionWithTitle:@"呼叫" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {NSLog(@"點擊了呼叫按鈕10.2下");NSString* PhoneStr = [NSString stringWithFormat:@"tel://%@",phoneStr];if ([PhoneStr hasPrefix:@"sms:"] || [PhoneStr hasPrefix:@"tel:"]) {UIApplication * app = [UIApplication sharedApplication];if ([app canOpenURL:[NSURL URLWithString:PhoneStr]]) {[app openURL:[NSURL URLWithString:PhoneStr]];}}}]];[alert addAction:[UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {NSLog(@"點擊了取消按鈕");}]];[selfvc presentViewController:alert animated:YES completion:nil];}}}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.