当我使用UIWebview进行呼叫时,如何知道单击UIAlertView的哪个按钮索引

时间:2017-05-15 10:37:59

标签: ios uiwebview phone-call

我可以生成一个提醒,允许用户使用此代码UIWebView拨打电话:

UIWebView *webV= [[UIWebView alloc] init];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"tel:1834563578"]];
[webV loadRequest:request];

但是,当我使用UIWebView进行呼叫时,系统会显示警报。我想知道用户选择了哪个按钮索引。我不知道如何检索用户在警报中选择的选项的索引。

2 个答案:

答案 0 :(得分:0)

  

使用以下代码。

UIAlertAction* cameraButton = [UIAlertAction
                               actionWithTitle:@"Button1"
                               style:UIAlertActionStyleDestructive
                               handler:^(UIAlertAction * action) {

                                   // do somethingg

                               }];

UIAlertAction *cancelButton = [UIAlertAction
                               actionWithTitle:@"Cancel"
                               style:UIAlertActionStyleCancel
                               handler:^(UIAlertAction * action) {
                                   //do nothing
                               }];






[alert addAction:cameraButton];
[alert addAction:cancelButton];
[self presentViewController:alert animated:YES completion:nil];

答案 1 :(得分:0)

仅适用于iOS10 +。

您可以在UIWebViewDelegate中检测到来电:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
    if ([request.URL.absoluteString hasPrefix:@"tel:"]) {
        // make a call

        // this method is available in iOS10
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber] 
                                           options:nil 
                                           completionHandler:^(BOOL success) {
            // if success is NO, user tap cancel button, or other
            NSLog(@"%d", success);
        }];

        return NO; // the default view will not show
    }
    return YES;
}

设置UIWebView

UIWebView *webV= [[UIWebView alloc] init];
webV.delegate = self;
NSURLRequest *request = [NSURLRequest requestWithURL: [NSURL URLWithString:@"tel:1834563578"]];
[webV loadRequest: request];

通过这个,您将知道哪个按钮依赖 在success的{​​{1}}上。