So erstellen Sie eine Bestätigungs-Pop-Up, wenn Sie drücken Zurück-Taste in iOS?
Möchte ich hinzufügen, dass ein pop-up, wenn jemand drückt den "Zurück" - Taste meiner iOS App, um den Benutzer zu Fragen, ob er wirklich zurückkommen möchte. Dann, abhängig von der Antwort des Benutzers, möchte ich die Aktion rückgängig machen oder gehen. Ich habe versucht, fügen Sie den code in der viewWillDisappear Funktion meiner Ansicht nach und schreiben Sie dann die richtige delegieren, aber es funktioniert nicht, weil es immer wieder die Ansicht ändern, und zeigen Sie dann im pop-up. Mein code ist:
-(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 delegieren die Umsetzung ist:
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if([title isEqualToString:@"Yes"])
{
[super viewWillDisappear:_animated];
}
}
Diese überhaupt nicht funktioniert. Hat jemand jetzt einen besseren Weg, es zu tun, oder was könnte falsch sein?
Vielen Dank,
InformationsquelleAutor der Frage recasens | 2014-01-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einmal
-viewWillDisappear:
genannt wird, gibt es kein halten Sie IhreviewController
vor dem verschwinden.Sollten Sie idealerweise, überschreiben Sie die
navigationBar
's zurück-Taste, und es ist Methode, - Anzeige der Warnmeldung (der rest wird so ziemlich das gleiche)HINWEIS: vergessen Sie nicht, zu erklären,
<UIAlertViewDelegate>
in der .h Datei diesesviewController
InformationsquelleAutor der Antwort staticVoidMan
Dank für deine Antwort, @staticVoidMan! Ich endlich Ihren code benutzt, mit einigen änderungen. Die zurück-Taste nicht geändert werden kann, so sollte man erstellen Sie eine weitere Schaltfläche und versteckte standard. Das problem ist nur der Stil des neuen "Zurück" - Taste, die nicht gleich als der standard. Der endgültige code ist:
InformationsquelleAutor der Antwort recasens