Tengo una aplicación basada en la barra de pestañas con navegación en cada elemento de la barra de pestañas. Cuando navego a otra vista en cualquier elemento de la barra de pestañas y hago clic en el elemento de la barra de pestañas, se invoca el controlador de vista raíz en ese elemento de la barra de pestañas. Es como PopToRootView. ¿Podemos deshabilitar esta situación?Desactivar barra de pestañas navegando a la vista raíz
Respuesta
Aunque dicen que no se supone a la subclase UINavigationController
, puede lo que quiere al hacer una subclase de UINavigationController
y reemplazando el método - (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;
.
Hacer esto (y no llamar al super popToRootViewController) evitará que los controladores de vista aparezcan al hacer clic en el elemento de la barra de pestañas. De alguna manera podría hacerte caer en algunos problemas, pero espero que funcione para ti.
Sí, puede desactivar la automática popToRootViewController
implementando el método UITabBarControllerDelegate
en su controlador de vista:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController {
if(self.navigationController == viewController) {
return NO;
}
return YES;
}
Gracias a: Disable action - user taps on tabbar item to go to root view controller
- Incluir UITabBarControllerDelegate en el archivo de cabecera.
probar esto:
- (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectViewController:(UIViewController *)viewController { if(bool_youDontWantPopToRootView) return (tabBarController.selectedViewController != viewController); return YES; }
Para bool_youDontWantPopToRootView, se puede añadir la condición en que cuando se quiere que se comporte como el comportamiento por defecto.
- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated;
cuando se pasa 'NO' en el argumento animada se le dirigirá a la vista raíz y sin ningún tipo de animación
usted no necesita utilizar este método, mientras se toca en cualquier barra de pestañas de su comportamiento predeterminado del controlador de navegación que mantenga su propia pila de VCs
- 1. "Ocultar" la barra de pestañas al presionar una vista
- 2. ¿Barra de pestañas similar a iPhone en Android?
- 3. botón de la barra de pestañas ios a la vista modal
- 4. ¿Utiliza la barra de pestañas de Emacs?
- 5. Ocultar la barra de pestañas en una aplicación de barra de pestañas
- 6. ¿Cómo dentro de un controlador de barra de pestañas paso de un controlador de vista a otro y conservo la barra de pestañas?
- 7. pestañas jQuery UI desactivar la pestaña de navegación
- 8. ¿Hay eventos de barra de pestañas para notificar cuando alguien oculta/muestra la barra de pestañas?
- 9. Mostrar barra de pestañas después de su
- 10. Cómo ajustar la barra de navegación del color de la barra de pestañas del menú Configurar
- 11. Navegando desde App.xaml.cs
- 12. iPhone Objective-C: ¿Programativamente cambia el título del elemento de la barra de pestañas en la barra de pestañas creada con IB?
- 13. Storyboard - ViewController al controlador de la barra de pestañas
- 14. ¿Agregar vista personalizada arriba de la barra de pestañas controlador/controlador de navegación?
- 15. Desactivar la animación de la barra de progreso en Vista Aero
- 16. emergente a la vista raíz en el controlador de navegación
- 17. mostrar/ocultar la barra de pestañas cuando sea necesario desde un controlador de vista
- 18. C# ListView Desactivar barra de desplazamiento horizontal
- 19. ¿Por qué la altura de mi vista raíz no tiene en cuenta su barra de navegación?
- 20. Django redirigir a la raíz desde una vista
- 21. Cuadro de UIView cuando existe la barra de navegación y el controlador de barra de pestañas
- 22. Desactivar moverse en la vista de mapa
- 23. HTML, CSS: barra superior a juego símbolo de raíz cuadrada
- 24. Desaparece el controlador de la barra de pestañas cuando se mueve a otra vista (SDK de iOS, usando guiones gráficos)
- 25. cómo desactivar las pestañas usando jQuery
- 26. ¿Cómo acceder a View Controller desde el controlador de la barra de pestañas?
- 27. viewWillAppear en viewcontrollers de una barra de pestañas
- 28. Personalizar los colores de la barra de pestañas de vim
- 29. cómo conseguir esta barra de pestañas
- 30. Barra de pestañas iOS personalizada Color seleccionado
Podría decirme qué significa - (NSArray *) popToRootViewControllerAnimated: (BOOL) animado; con pasar como 'NO' en el parámetro animado. – Himanshu
@mjdth ¿Sabe por casualidad que los problemas no son algo "La aplicación es rechazada por Apple"? De lo contrario, funciona como el encanto. Gracias por tu propina –