2010-07-23 15 views
9

Ich war nur neugierig, wie kann ich eine andere Aufgabe an den anderen ButtonTitle von UIAlertView anhängen. Die Abbrechen-Schaltfläche führt Sie automatisch aus der Anwendung, aber wenn ich eine andere Aufgabe mit dem anderenButtonTitle anhängen möchte, was soll ich tun?otherButtonTitles in UIAlertView

Danke,

Antwort

22

UIAlertView delegieren "didDismissWithButtonIndex" jedes Mal, u eine beliebige Taste klicken aufgerufen.

Versuchen Sie folgendes:

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]; 
    } 
} 
+0

Sein nicht dong nichts, wenn ich eine dieser Schaltflächen klicken. – Ashutosh

+0

aktualisierten Code finden – iPhoneDev

+0

Richtige Antwort. Tipp: Verwechseln Sie nicht 'didDississWithButtonIndex' (aufgerufen * nachdem * die UIAlertView die Bildschirmhierarchie verlässt) mit' clickedButtonAtIndex' (wird aufgerufen, während die UIAlertView noch auf dem Bildschirm ist und immer noch Teil der Bildschirmhierarchie ist). Ich fand diese Verwechslung in anderen StackOverflow-Antworten und anderen Stellen im Internet. –