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?

War es hilfreich?

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
scroll top