Pregunta

Estoy empujando a unos viewcontrollers con mi UINavigationController y cuando estoy en mi tercera UISubViewController I codificado a 'popToRootViewController' y pop de vuelta, y los artículos navigationbar-empujar a la segunda controlador de vista no a la primera ..

  • Lo he probado con y sin animación, pero nada voy a cambiar.
  • Intenté decir self.navigationController.navigationBar POP volver, pero no hago nada por mi bar.

Gracias por la ayuda ..

¿Fue útil?

Solución

Estoy un poco confundido en su pregunta, pero creo que esto debería ayudar. Por lo que yo sé no se puede tener el botón "atrás" en un UINavigationController remontan a más de 1 pop. Así que lo que hace es que hay que añadir un botón que hace la función popToRootViewController. Intentar algo como esto:

UIBarButtonItem *newButton = [[UIBarButtonItem alloc] initWithTitle:@"Home" style:UIBarButtonItemStylePlain target:self action:@selector(homeAction:)];

self.navigationItem.rightBarButtonItem = newButton;

Esto agregará un botón a la derecha de su dispositivo de navegación. El siguiente paso es agregar una función llamada lo que nombre en la acción (en este caso, tiene que ser llamado "homeAction"). Esto se ve de esta manera:

-(IBAction)homeAction:(id)sender {
      [self.navigationController popToRootViewControllerAnimated:YES];
}

Esto debe cubrir la parte posterior del pop a la raíz del controlador donde quiera que esté en la pila. También tendrá a su método IBAction al archivo .h pero aparte de eso se debe hacer todo lo que quiere.

Otros consejos

a menos que usted está haciendo algo raro con la serie de UIViewControllers de NavigationController, el método debe ser:

[self.navigationController popToRootViewControllerAnimated:YES];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top