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];
}
}
Sein nicht dong nichts, wenn ich eine dieser Schaltflächen klicken. – Ashutosh
aktualisierten Code finden – iPhoneDev
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. –