iOS: empuja viewController desde el código y el storyboard

Tengo este codigo

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

Y puedo cambiar la vista, pero presionaré esta vista para cuando regrese en esta página, el estado persiste.

Intento poner este código:

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

pero no hace nada

Gracias

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

Comtesting 2 cosas,

  1. su identificador de storyboard es correcto.

  2. La vista raíz tiene un controller de navigation.

Para Storyboards, debe usar performSegueWithIdentifier así:

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

Swift 3.x

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

De forma pnetworkingeterminada, Xcode crea un controller de vista estándar. primero cambiamos el controller de vista al controller de navigation. Seleccione Simplemente select "Editor" en el menu y select "Incrustar", seguido de "Controlador de navigation" Paso 1. Seleccione Tablero de historia principal Paso 2. Haga clic en "Editor" en la parte superior de su aplicación Xcode. Paso 3. Haz clic en "Insertar"

Xcode incrusta automáticamente el controller de vista con el controller de navigation.

Utilizar:

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

O:

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