Cambio entre UIViewControllers con UISegmentedControl

Bien, he mirado algunas preguntas SO sobre el tema y me resulta difícil encontrar la solución correcta aquí.

Requisitos

Tengo una aplicación basada en UITabBar. Una de las tabs tiene un controller UINavigation con UISegmentedControl en la parte superior que le permite al usuario cambiar entre tres vistas diferentes. Cada vista tendrá un UITableView que permitirá al usuario navegar a otra vista. Estas vistas deben insertse en el controller de navigation.

Problema

Ahora todas las preguntas de SO y Respuestas sobre el tema muestran cómo cambiar entre vistas. Sin embargo, necesito la vista a la que cambio, para permitir empujar otra vista hacia la stack de navigation. No estoy seguro de que esto sea posible. Pensé en la contención de UIViewController; sin embargo, eso mostraría una vista en la stack en una window más pequeña que los límites de la pantalla. No es lo que estoy buscando.

¿Alguna idea de cómo puedo resolver esto con storyboards y UIViewControllers?

ACTUALIZAR

Esto es lo que estoy tratando de hacer: en la captura de pantalla, el área del contenedor es donde debo cargar otros controlleres de vista. El control UISegment no puede entrar en la barra de navigation ya que ese espacio se usa para otra cosa. Entonces, ¿por qué creo que la contención de UIViewController podría ser mejor aquí?

introduzca la descripción de la imagen aquí

Por lo tanto, aunque esto no está utilizando TableViewControllers separado, puede usar diferentes UIViews personalizadas que están ocultas de forma pnetworkingeterminada y se vuelven visibles cuando selecciona su button correspondiente. Desafortunadamente, esto hará que tengas la lógica de las tres vistas en el mismo VC.

Para evitar esto, puede intentar configurar algunos delegates e imitar la separación lógica de TableViewController enviando didSelectTableAtIndexPath , UIGesture touches, etc. a classs fuera del ViewController para ayudar a mantener limpio su código.

UITabBarController y oculta la barra de tabs.

 - (void)viewDidLoad { self.tabBar.hidden = YES; } 

Vinculando el control del segmento con el valor del método valueChanged

 - (void)valueChanged:(UISegmentedControl *)seg { if ([seg.selectedSegmentIndex == 0]) { self.selectedIndex = 0; } else if ([seg.selectedSegmentIndex == 1] { self.selectedIndex = 1; } } 

Lo consigo de esta manera, espero que esto ayude.