2011-07-13 44 views
1

我想创建2个按钮。当按下按钮时,它应该拨打电话。 ı写这个代码,它的工作原理,但我的问题是按钮调用相同number.ı想调用不同的数字。 任何人都可以修复我的代码?在iPhone中创建调用按钮?

#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"); 
    } 
} 

`

回答

1

这应做到:

#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

感谢队友。它的工作:) – muhammedkasva

0

您的号码被硬编码,如下图所示:

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

您可以通过添加一个的UITextField,并在您的警报视图读取它的价值阅读次数。

  1. 在你看来
  2. 创建一个UITextView写的委托方法,并在控制器中创建一个IBOutlet中
  3. 在您的警报视图回调读取的UITextField输入的值,并用它来创建您的网址NSURL *url = [[NSURL alloc] initWithString:[NSString stringWithFormat:@"tel://%@", textField.text]];
1

您总是使用firstNumber拨打电话。要区分按钮和警报视图,可以将标记设置为警报视图。根据alertview的标签,你可以拨打第一个或第二个电话。