Xcode: ¿Cuál es el propósito de un controlador de navegación?

¡Buena pregunta!

El controlador de navegación es responsable de permitir la navegación de izquierda a derecha y de derecha a izquierda entre los controladores de vista. Es un contenedor en el que coloca la interfaz de usuario de su aplicación, después de lo cual puede empujar (y “hacer estallar”) los controladores de vista en la pila, después de una interacción del usuario, lo que permite la navegación.

El controlador de navegación no es necesariamente visible, pero tampoco es invisible: un controlador de navegación tiene una barra de navegación en la parte superior que generalmente incluye un título y uno o dos botones.

Un ejemplo:

  • Digamos que tenemos una aplicación de lista de tareas. Tiene un montón de artículos. Estos elementos se muestran en un controlador de vista de tabla, una tabla vertical con una celda para cada elemento de tarea pendiente.
  • La vista de tabla se carga en un controlador de navegación. La parte superior de la ventana de la aplicación ahora es una barra de navegación, y el área principal debajo muestra las tareas pendientes en la vista de tabla.
  • Cuando el usuario toca uno de los elementos de la vista de tabla, un elemento de tareas pendientes, un nuevo controlador de vista (“IU de detalles de tareas”) se desliza desde la derecha de la pantalla y toma el lugar del controlador de vista de tabla. Esta es la parte de navegación de un controlador de navegación, su único propósito. La nueva interfaz de usuario muestra los detalles de una tarea pendiente, y la barra de navegación se actualiza con el título correcto y ahora muestra un botón de retroceso a la izquierda de la barra.

La documentación de Apple lo explica con más detalle: Controladores de navegación

Es un contenedor para otros controladores de vista, y generalmente maneja el paso de datos de un controlador de vista a otro.

Es invisible para los usuarios de la aplicación.

More Interesting

En comparación con mi rol de desarrollador actual en Javascript, ¿aprender iOS / Swift sería una buena manera de aliviar el estrés y un cambio de ritmo para mi próximo rol?

¿Cómo se relacionan Cocoa, Cocoa Touch, Xcode y Objective-C con el desarrollo de la aplicación iOS?

¿El nuevo MacBook Air de 13 pulgadas es lo suficientemente capaz para el desarrollo de iOS?

¿Qué tan cerca de una experiencia de aplicación de nivel nativo para iOS y Android puede hacer usando Meteor 1.0?

¿Qué es la inyección de dependencia en Swift?

Cómo incorporar programas de back-end en una aplicación Swift para iOS

Cómo hackear un mini juego de milicia en iOS

¿Qué servicios puedo usar para crear un laboratorio de pruebas móvil personal para mi empresa?

¿Dónde puedo encontrar beta testers gratuitos para aplicaciones iOS?

¿Es posible configurar una instancia única del servidor Jenkins para CI de aplicaciones iOS y aplicaciones Android?

¿Qué aplicación iOS / Android se puede desarrollar para ganar alrededor de $ 150 por mes?

¿Cuál es una buena plataforma de desarrollo de aplicaciones de tipo arrastrar y soltar para Android e iOS con una curva de aprendizaje más pequeña?

¿En qué casos, el autolayout no es preferible en la programación de iOS? Enfrenté un problema durante el diseño de la interfaz de usuario de la celda de vista de tabla y vista de colección.

Cómo enviar una notificación desde Parse Dashboard

¿Cuál es la diferencia entre los límites y el marco?