2010-09-09 6 views
2

Y a-t-il un moyen d'ajouter un tag à un bouton UIAlertView? Raison d'être, j'ajoute quelques boutons dynamiques à l'alerte qui seront parfois dans l'alerte et parfois non. J'ai pensé que le meilleur moyen était d'ajouter une étiquette. Y a-t-il une meilleure méthode pour cela?Marquage des boutons UIAlertView

Les options qui seront TOUJOURS dans l'alerte sont Email, Enregistrer. Et les 2 options optionnelles sont Tweet This et Facebook.

Merci pour toute aide à l'avance!

Répondre

2

Il existe une méthode buttonTitleAtIndex pour UIAlertView. Utilisez-le pour trouver le bouton tapé par l'utilisateur.

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex 
{ 
    NSString *buttonString = [alertView buttonTitleAtIndex:buttonIndex]; 
    if([buttonString isEqualToString:@"Facebook"]){ 
     // your code here 
    } else if([buttonString isEqualToString:@"twitter"]){ 
     // your code here 
    } 
} 
+0

qui est parfait! Je passais par le buttonIndex qui n'est pas fiable. Merci. –

1

Vous pouvez également utiliser tag proprerty:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Info" 
               message:@"Info text" 
               delegate:self 
             cancelButtonTitle:@"Ok" 
             otherButtonTitles:nil, nil]; 
[alert setTag:0]; 

Puis déléguer:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { 
    switch (alertView.tag) { 
     case 1: { 
     ... 
     break; 
     } 
     ... 
    default: 
     break; 
}