2012-12-21 13 views
9

ich diesen Code habeniOS - Push Viewcontroller von Code und Storyboard

PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"PlaceView"]; 
[self presentViewController:newView animated:YES completion:nil]; 

Und ich kann Ansicht ändern, aber ich würde diese Ansicht drängen, wenn ich auf dieser Seite zurückkehren, bleibt der Staat.

Ich versuche, diesen Code zu setzen:

[self.navigationController pushViewController:newView animated:YES]; 

aber nichts tun.

Dank

Antwort

3

Für Storyboards, Sie performSegueWithIdentifier wie so verwenden sollten:

[self performSegueWithIdentifier:@"identifier goes here" sender:self]; 
+0

Wo? (Tut mir leid, dass ich es nicht weiß) – Xose

+0

Statt '[self.navigationController pushViewController: newView animiert: YES];' sollten Sie '[self performSegueWithIdentifer: @" You identifier "sender: self] verwenden;' – Sumanth

+0

"No visible @interface deklariert das selector 'performSegueWithIdentifer: sender' " Ich habe diesen Fehler – Xose

36
PlaceViewController *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"storyBoardIdentifier"]; 
[self.navigationController pushViewController:newView animated:YES]; 

Check 2 Dinge,

  1. Storyboard-Kennung korrekt ist.

  2. Die Stammansicht hat Navigation Controller.

+0

Hallo hier im Ziel ViewController bekommen keine Navigation –

+0

@JigneshB: Verbinden Sie sich mit Navigation Controller? 2. Punkt prüfen, 2. Die Grundansicht hat den Navigations-Controller. –

0

Standardmäßig erstellt Xcode einen Standard-View-Controller. Wir ändern zuerst den View-Controller in den Navigations-Controller. Wählen Sie die Einfach "Editor" im Menü und wählen Sie "Einbetten in", gefolgt von "Navigation Controller" Schritt 1. Wählen Sie Haupt Storyboard Schritt 2. Klicken Sie auf "Editor" auf Ihrer Xcode-Anwendung. Schritt 3. Klicken Sie auf "Einbetten"

Xcode bettet automatisch den View Controller mit Navigation Controller ein.

1

Swift 3.x

let viewController = storyboard?.instantiateViewController(withIdentifier: "storyboardIdentifier") as! UIViewController 
navigationController?.pushViewController(viewController, animated: true) 
0

Verwendung:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"STORYBOARD_NAME" bundle:nil]; 
PlaceViewController *newView = [storyboard instantiateViewControllerWithIdentifier:@"PlaceView"]; 
[self presentViewController:newView animated:YES completion:nil]; 

Oder:

UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"STORYBOARD_NAME" bundle:nil]; 
PlaceViewController *newView = [storyboard instantiateViewControllerWithIdentifier:@"PlaceView"]; 
[self.navigationController pushViewController:newView animated:YES]; 
Verwandte Themen