Ich möchte ein Popup hinzufügen, wenn jemand die "Zurück" -Schaltfläche meiner iOS App drückt, um den Benutzer zu fragen, ob er wirklich zurückkommen möchte. Abhängig von der Antwort des Benutzers möchte ich dann die Aktion rückgängig machen oder fortfahren. Ich habe versucht, den Code in der viewWillDisappear Funktion meiner Ansicht hinzuzufügen und dann den richtigen Delegaten zu schreiben, aber es funktioniert nicht, da es immer die Ansicht ändert und dann das Popup anzeigt. Mein Code ist:Wie erstelle ich eine Bestätigung? Pop Up beim Drücken der Zurück-Taste in iOS?
-(void) viewWillDisappear:(BOOL)animated {
_animated = animated;
if ([self.navigationController.viewControllers indexOfObject:self]==NSNotFound) {
UIAlertView *alert_undo = [[UIAlertView alloc] initWithTitle:@"UIAlertView"
message:@"You could be loosing information with this action. Do you want to proceed?"
delegate:self
cancelButtonTitle:@"Go back"
otherButtonTitles:@"Yes", nil];
[alert_undo show];
}
else [super viewWillDisappear:animated];
}
und der Delegierte Implementierung ist:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if([title isEqualToString:@"Yes"])
{
[super viewWillDisappear:_animated];
}
}
Dies ist gar nicht funktioniert. Hat jemand jetzt einen besseren Weg, oder was könnte falsch sein?
Vielen Dank,
@AlexSpencer Bitte vermeiden Sie Beiträge zu bearbeiten, um den Code mit Ihren eigenen Ideen zu verbessern. Sie können einen Kommentar hinzufügen, um Verbesserungen vorzuschlagen. Siehe die Richtlinien hier: http://stackoverflow.com/help/editing – SysDragon
@SysDragon war es eine subtile Veränderung. aber es ist nicht meine Meinung. Siehe diesen Link: https: //stackoverflow.com/questions/4649423/should-switch-statements-always-contain-a-default-klause –
@AlexSpencer Das ist über gute Programmierpraktiken, nicht über andere Inhalte zu bearbeiten. Auf dieser Seite sollten Sie ** Beiträge nicht bearbeiten, um neuen Code zur Verbesserung hinzuzufügen. Sie können das in einem Kommentar vorschlagen. – SysDragon