2011-04-20 10 views
5

¿Es posible tener un UINavigationController dentro de un UINavigationController? Estoy corriendo a tener problemas con él y leído informes contradictorios:UINavigationControllers anidados

iPhone UINavigationController inside UIViewController

App with nested UINavigationController crashes in iOS SDK 4.2

La aplicación contiene un par de pasos 2-3 sub-flujos de trabajo que tengo que volver a usar en diferentes lugares dentro del flujo de trabajo principal, de ahí la anidación. Podría tener un controlador UINavigation maestro que tenga mucha lógica de flujo de trabajo, pero prefiero modelarlos como subflujos de trabajo independientes.

Nota al margen: funciona si inicio el subflujo de trabajo con presentModalViewController (ya que esto es válido para todas las UIViews), pero solo mostraré la barra de título y no la vista cuando lo ejecute con pushViewController. No lo quiero modal ya que cubre toda la pantalla.

Respuesta

4

No sé si es posible (es decir, hay una forma de hackearlo de modo que funcione) pero no se recomienda usar más de un UINavigationController. Me gustaría cuestionar el diseño de la aplicación si cree que es necesario, ya que será complejo no solo en la implementación sino también para sus usuarios.

Un enfoque encapsulado sería hacer que su UI principal use un solo UINavigationController. Cuando un usuario realiza una acción que se bifurca en su propio flujo lógico, presente un nuevo controlador de navegación como un controlador de vista modal y solicite al usuario que complete ese flujo lógico y descarte el modal cuando lo haga volver a su IU principal.