Mostrar la barra de navigation en el controller de vista secundaria

Estoy trabajando en una aplicación en la que tengo que mostrar múltiples controlleres de vista uno al lado del otro (vistas divididas). Para este propósito, agregué vistas como controller de vista secundaria.

OBJETIVO: Quiero mostrar la barra de navigation en un controller de vista secundario junto con la barra de navigation separada ya mostrada en el controller de vista principal.

PROBLEMA: La barra de navigation no se muestra en el controller de vista secundaria.

EDIT: también he configurado la barra de navigation del controller de vista principal como oculta, pero cuando se recibe llamada del controller de vista secundaria, aparece la barra de navigation en el controller de vista padre, no en el controller de vista secundaria.

El código para agregar el controller de vista secundaria es:

MyChildViewController *childViewController = [[MyChildViewController alloc] initWithNibName:@"MyChildViewController" bundle:nil]; [self addChildViewController:childViewController]; [childViewController.view setFrame:CGRectMake(0.0f, 0.0f, self.rightContainerView.frame.size.width, self.rightContainerView.frame.size.height)]; [self.rightContainerView addSubview:childViewController.view]; [childViewController didMoveToParentViewController:self]; 

Este código funciona correctamente y el controller de vista secundario se agrega perfectamente. Quiero saber ¿es posible o no?

Gracias por adelantado.

Solucioné este problema por mí mismo de la siguiente manera:

 MyChildViewController *childViewController = [[MyChildViewController alloc] initWithNibName:@"MyChildViewController" bundle:nil]; [childViewController.view setFrame:CGRectMake(0.0f, 0.0f, self.rightContainerView.frame.size.width, self.rightContainerView.frame.size.height)]; UINavigationController *childNavController = [[UINavigationController alloc] initWithRootViewController:childViewController]; childNavController.view.frame = childViewController.view.frame; [self addChildViewController:childNavController]; [self.rightContainerView addSubview:childNavController.view]; [childNavController didMoveToParentViewController:self]; 

Ahora cuando agrego la barra de navigation en MyChildViewController , se agrega en el controller de vista secundario y no afecta a la barra de navigation del controller de vista principal. La propiedad navigationController del controller de visualización secundaria también es diferente de la propiedad de control del controller primario de navigationController y ambos tienen sus propias stacks de navigation.

agregar barra de navigation como esta

introduzca la descripción de la imagen aquí

Aparecerá en el controller de toda vista.

Otra forma de hacer:

Coloque este código en el método didFinishLaunchingWithOptions en el file appdelegate.m.

 self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; ECViewController * ec = [[ECViewController alloc] initWithNibName:@"ECViewController" bundle:nil]; UINavigationController* navigationController = [[UINavigationController alloc] initWithRootViewController:ec]; self.window.rootViewController = navigationController; [self.window makeKeyAndVisible]; return YES; 

Agregue un file Nib (ECViewController) simplemente siguiendo estos pasos:

1: haga clic derecho en la raíz del proyecto

2: agregar nuevo file

3: Ir a la interfaz de usuario.

4: seleccionar vista

5: dale el mismo nombre que el nombre del controller de vista que di ECViewController en mi caso.

Haga clic en el file nib recién creado.

Haga clic en la casilla amarilla del propietario del file en el lado izquierdo. realice una connection con la vista simplemente arrastrando con la palabra key de control. Haga clic en la vista cuando aparezca la window emergente.

Ahora ve al inspector de identidad (la cuarta sección mira desde el lado izquierdo).

Escriba el nombre de su class en el nombre de la class textbox apareció.

Con esto, puedes abrir un xib en iOS7 si no quieres usar storyboard.

Ahora, si necesita ver el controller con el controller de navigation.

Luego, abra su controller de vista de esta manera.

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

Es demasiado tarde para esta respuesta editada, espero que ayude a alguien más.

Establezca correctamente la position y de la vista secundaria.

 MyChildViewController *childViewController = [[MyChildViewController alloc] initWithNibName:@"MyChildViewController" bundle:nil]; [self addChildViewController:childViewController]; [childViewController.view setFrame:CGRectMake(0.0f, 44.0f, self.rightContainerView.frame.size.width, self.rightContainerView.frame.size.height)]; [self.rightContainerView addSubview:childViewController.view]; [childViewController didMoveToParentViewController:self]; 

He encontrado el enlace desde stackoverflow. Necesitamos agregar barra de navigation manualmente. No hay alternativa para esto.