2016-06-09 4 views
0

Ich habe den folgenden Code, um neue ViewControllers zu schieben.Pop zu bestimmten Controller auf iOS | Objective-c

- (IBAction)btnEditPressed:(id)sender { 
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
    UIViewController *controller = [storyboard instantiateViewControllerWithIdentifier:@"contactListViewController"]; 
    [self parentShowViewController:controller sender:sender]; 
} 

- (void)parentShowViewController:(UIViewController *)controller sender:(id)sender { 
    if ([self isIOS7]) { 
     // En iOS7 no existe el método showViewController 
     [self.navigationController pushViewController:controller animated:YES]; 
    } else { 
     //[self.navigationController pushViewController:controller animated:YES]; 
     [super showViewController:controller sender:sender]; 
    } 
} 

Jetzt habe ich das folgende Szenario: Ich habe 3 ViewControllers namens A, B, C.

A-> B-> C Wenn Zurück-Taste drücken will ich von C nach A

Antwort

4

Probieren Sie etwas wie diese

zu unterstützen Wenn Sie Controller-A von der Steuerung C auf Controller-C benutzerdefinierte erstellen hinwollen Zurück-Taste und stellen Sie die Aktion und geben Sie den folgenden Code.

[self.navigationController popToViewController:[self.navigationController.viewControllers objectAtIndex:0] animated:YES]; 

Dies funktioniert nur, wenn Sie wissen, dass Controller A Ihr erster Controller in der Navigation ist.

Wenn Sie nicht wissen, die Reihenfolge der Viewcontroller versuchen Sie dieses

for (UIViewController *vc in self.navigationController.viewControllers) { 
     if ([vc isKindOfClass:[ViewControllerA class]]) { 
      [self.navigationController popToViewController:VC animated:Yes]; 
     } 
    } 

und eine eigene Taste auf diese link

Hoffnung gehen hinzuzufügen dies wird Ihnen helfen.

+0

Wenn Sie nicht wissen, wie Sie benutzerdefinierte Schaltfläche in der Navigationsleiste hinzufügen, lassen Sie es mich wissen. –

Verwandte Themen