Cambiar la vista del controlador de navegación al presionar un botón

He configurado un controlador de navegación que está conectado a dos controladores de vista (B y C). El controlador de navegación está conectado a una vista de contenedor que se encuentra dentro de un controlador de vista (A). En este controlador de vista (A) también tengo algunos botones que solo registran algunos mensajes simples en la consola.

View Controller A
    -> Container -> Navigation Controller
                                  -> View Controller B
                                  -> View Controller C

Ahora, ¿cómo puedo cambiar el controlador de vista activo (B O C) dentro del controlador de navegación cuando se presiona un botón? Soy bastante nuevo en Xcode y creo que mi mayor problema aquí es que no sé cómo acceder a las diferentes vistas mediante programación.

preguntado el 21 de septiembre de 13 a las 12:09

¿Dónde se encuentra este botón, en el controlador A o B? ¿Por qué no puede simplemente empujar el nuevo controlador a la pila? [self.navigationController pushViewController:controllerC animado:YES]; -

El botón está ubicado en el controlador de vista A -

4 Respuestas

use la matriz de controladores de navegación para acceder a los controladores de vista, creo que debería verificar aquí

contestado el 23 de mayo de 17 a las 12:05

#import "ViewControllerB.h"

...

ViewControllerB* vcB = [[ViewControllerB alloc] initWithNibName:@"ViewControllerB" bundle:nil];
[self.navigationController pushViewController:vcB animated:YES];

Respondido el 21 de Septiembre de 13 a las 12:09

Primero necesita importar viewController por el que desea navegar.

ViewController.h Importar ViewControllerC

#import "ViewControllerC.h"

Archivo ViewControllerB.m..

 ViewControllerC * gmavc=[[ViewControllerC  alloc]initWithNibName:@"ViewControllerC " bundle:nil];

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

Prueba este código ...

Respondido el 21 de Septiembre de 13 a las 12:09

Que archivo es #import "ViewControllerC.h" ¿en? - Oskar Persson

Respondido el 21 de Septiembre de 13 a las 22:09

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.