Das Protokoll UIAlertViewDelegate
besagt folgendes:
// Wird aufgerufen, wenn wir eine Ansicht abbrechen (z. B. wenn der Benutzer auf die Home-Taste klickt). Dies wird nicht aufgerufen, wenn der Benutzer auf die Abbrechen-Schaltfläche klickt.
// Wenn nicht im Delegaten definiert, simulieren wir einen Klick in die Abbrechen-Schaltfläche
- (void)alertViewCancel:(UIAlertView *)alertView;
Ich habe jedoch ein UIAlertView
, das angezeigt wird, und wenn ich jetzt die Home-Taste im Simulator drücke, wird die Methode alertViewCancel:
nicht aufgerufen. Bitte beachten Sie, dass die Delegate-Methode alertView:clickedButtonAtIndex:
aufgerufen wird, wenn ich eine Schaltfläche auf dem AlertView berühre, sodass der Delegat korrekt verbunden ist.
Ist dies ein Bug auf der Seite von Apple oder liegt es an mir, oder vielleicht am Simulator?
Bearbeiten:
Ich umgehe dieses Problem derzeit, indem ich auf die Benachrichtigung UIApplicationWillResignActiveNotification
höre, bei der ich das folgende mache, um den AlertView zu entfernen:
[self.currentAlert dismissWithClickedButtonIndex:-1 animated:NO];
[self.currentAlert release];
self.currentAlert = nil;