pushViewController und popToRootViewController
-
29-10-2019 - |
Frage
Meine Anwendung verwendet pushViewController, um den Navigationscontroller modal anzuzeigen.
[navigationController pushViewController:_viewController animated:YES];
Navigation Controller hat die Schaltfläche ausgeführt
UIButton* backButton = [UIButton buttonWithType:101];
[backButton addTarget:self action:@selector(dismissView:) forControlEvents:UIControlEventTouchUpInside];
[backButton setTitle:@"Done" forState:UIControlStateNormal];
UIBarButtonItem* backItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];
self.navigationItem.leftBarButtonItem = backItem;
[backItem release];
Wenn die Schaltfläche "Fertig" gedrückt wird, soll sie zum Hauptfenster zurück navigieren.
-(void) dismissView: (id)sender
{
[self.navigationController popToRootViewControllerAnimated:YES];
//[self.navigationController popToViewController:_viewController animated:YES];
}
Aber wenn ich auf die Schaltfläche "Fertig" drücke, passiert nichts.Warum ist das so?
Lösung
Bitte NSLog in Ihrer DissmissView
-(void) dismissView: (id)sender
{
NSLog(@"Hii....");
[self.navigationController popToRootViewControllerAnimated:YES];
//[self.navigationController popToViewController:_viewController animated:YES];
}
oder debuggen Sie die App mit Haltepunkt.
Andere Tipps
UIButton* backButton = [UIButton buttonWithType:101];
Ich bin mir ziemlich sicher, dass "101" ungültig ist
+ (id)buttonWithType:(UIButtonType)buttonType
Sie sollten einen der folgenden UIButtonType-Werte verwenden
typedef enum {
UIButtonTypeCustom = 0,
UIButtonTypeRoundedRect,
UIButtonTypeDetailDisclosure,
UIButtonTypeInfoLight,
UIButtonTypeInfoDark,
UIButtonTypeContactAdd,
} UIButtonType;
außer diesem Test hat Ihr Code etwas NSLog in Ihre entlassenView eingefügt: um zu sehen, ob es aufgerufen wird
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow