2010-05-12 3 views
0

Я использую два листа UIAction в своем текущем проекте. Я могу заставить его работать отлично, но когда я вставляю второй лист действий, он выполняет те же аргументы, что и первый. Как определить отдельные таблицы действий отдельно?Создание действий из справки UIActionSheets

-(IBAction) phoneButtonClicked:(id)sender 
{ 
    // open a dialog with just an OK button 
    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil 
                 delegate:self cancelButtonTitle:@"Cancel" 
                 destructiveButtonTitle:nil 
                 otherButtonTitles:[NSString stringWithFormat:@"Phone: %@",phone],nil]; 
    actionSheet.actionSheetStyle = UIActionSheetStyleDefault; 
    [actionSheet showInView:self.view]; // show from our table view (pops up in the middle of the table) 
    [actionSheet release]; 
} 

-(IBAction) mapButtonClicked:(id)sender 
{ 
    // open a dialog with just an OK button 
    UIActionSheet *mapActionSheet = [[UIActionSheet alloc] initWithTitle:nil 
                 delegate:self cancelButtonTitle:@"Cancel" 
                 destructiveButtonTitle:nil 
                 otherButtonTitles:[NSString stringWithFormat:@"Map"],nil]; 
    mapActionSheet.actionSheetStyle = UIActionSheetStyleDefault; 
    [mapActionSheet showInView:self.view]; // show from our table view (pops up in the middle of the table) 
    [mapActionSheet release]; 
} 


-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex { 
     if(buttonIndex == 0){ 
      NSString *callPhone = [NSString stringWithFormat:@"tel:%@",phone]; 
      NSLog(@"Calling: %@", callPhone); 
      [[UIApplication sharedApplication] openURL:[NSURL URLWithString:callPhone]]; 
    } 
} 

ответ

0

Внесите переменные экземпляра actionSheets и проверите в методе делегата, какой лист действий был возвращен.

В качестве альтернативы напишите свой собственный подкласс UIActionSheetUIAlert, который так же раздражает), чтобы отправлять обратные вызовы в объект делегата при захвате возврата.

3

UIActionSheet является подходом к UIView и поэтому вы можете использовать tag.

Смежные вопросы