создать кнопку вызова в iPhone? - PullRequest
1 голос
/ 13 июля 2011

Я хочу создать 2 кнопки. Когда кнопки нажаты, он должен сделать телефонный звонок.Я написал этот код, и он работает, но моя проблема в том, что кнопки вызывают один и тот же номер. Я хочу звонить на разные номера.Кто-нибудь может исправить мой код?

#define firstnumber                 @"1"
#define secondnumber                @"2"

- (IBAction)first:(id)sender 
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:firstnumber message:@"do you want to call?" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
    [alert show];
    [alert release];
}

- (IBAction)second:(id)sender 
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:secondnumber message:@"do you want to call?" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
    [alert show];
    [alert release];
}

- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
{
    // the user cticlicked one of the OK/Cancel buttons
    if (buttonIndex == 1)
    {
        NSLog(@"ok");
        NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"tel://%@", firstnumber]];
        [[UIApplication sharedApplication] openURL:url];
        [url release];
    }
    else
    {
        NSLog(@"cancel");
    }
}

`

Ответы [ 3 ]

1 голос
/ 13 июля 2011

Вы всегда используете firstNumber, чтобы сделать телефонный звонок.Чтобы различать кнопки и представления предупреждений, вы можете установить тег для представления предупреждений.Согласно тегу alertview, вы можете сделать первый или второй звонок.

1 голос
/ 13 июля 2011

Это должно сделать это:

#define firstnumber                 @"1"
#define secondnumber                @"2"

- (IBAction)first:(id)sender 
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:firstnumber message:@"do you want to call?" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
    alert.tag = 1;
    [alert show];
    [alert release];
}

- (IBAction)second:(id)sender 
{
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:secondnumber message:@"do you want to call?" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:@"ok", nil];
    alert.tag = 2;
    [alert show];
    [alert release];
}

- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 
{
    // the user cticlicked one of the OK/Cancel buttons
    if (buttonIndex == 1)
    {
        NSLog(@"ok");
        NSURL *url;
        switch (actionSheet.tag) {
            default:
            case 1:
                url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"tel://%@", firstnumber]];
                break;
            case 2:
                url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"tel://%@", secondnumber]];
                break;
        }
        [[UIApplication sharedApplication] openURL:url];
        [url release];
    }
    else
    {
        NSLog(@"cancel");
    }
}
0 голосов
/ 13 июля 2011

Ваши номера жестко запрограммированы, как показано ниже:

#define firstnumber                 @"1"
#define secondnumber                @"2"

Вы можете прочитать число, добавив UITextField и считав его значение в окне просмотра предупреждений.

  1. Создать uitextviewпо вашему мнению
  2. Напишите методы делегата и создайте iboutlet в вашем контроллере
  3. В вашем обратном вызове просмотра предупреждений прочитайте значение, введенное в поле uitext, и используйте его для создания вашего URL NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"tel://%@", textField.text]];
...