2010-07-23 20 views
9

Ero solo curioso di sapere come posso assegnare un compito diverso all'altro otherButtonTitle di UIAlertView. Il pulsante Annulla ti porta automaticamente fuori dall'applicazione, ma se voglio collegare un'attività diversa con otherButtonTitle, cosa devo fare?otherButtonTitles in UIAlertView

Grazie,

risposta

22

UIAlertView delegare "didDismissWithButtonIndex" vengono chiamati ogni volta u fare clic su un pulsante qualsiasi.

Prova questo:

UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Message" 
               message:messageString 
               delegate:self 
             cancelButtonTitle:@"Back" 
             otherButtonTitles:@"Reply",@"Delete",nil]; 
[alert show]; 
[alert release]; 


- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex 
{ 
    if (buttonIndex == 1) 
    { 
    NSLog(@"Reply"); 
    UIAlertView *myalert = [[UIAlertView alloc] initWithTitle:@"Button Clicked" message:@"U clicked Reply " delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 

    [myalert show]; 
    [myalert release]; 
    } 

    if (buttonIndex == 2) 
    { 
    NSLog(@"Delete"); 
    UIAlertView *myalert = [[UIAlertView alloc] initWithTitle:@"Button Clicked" message:@"U clicked Delete " delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; 

    [myalert show]; 
    [myalert release]; 
    } 
} 
non
+0

La sua dong nulla quando scatto uno di questi pulsanti. – Ashutosh

+0

cerca codice aggiornato – iPhoneDev

+0

Risposta corretta. Suggerimento: non confondere 'didDismissWithButtonIndex' (invocato * dopo * l'UIAlertView lascia la gerarchia dello schermo) con' clickedButtonAtIndex' (richiamato mentre UIAlertView è ancora sullo schermo e fa ancora parte e modifica drasticamente la gerarchia delle schermate). Ho trovato questo mix-up in altre risposte StackOverflow e in altri posti sul web. –