¿Cuál es la diferencia entre todos los segmentos de selección?


300
  • mostrar
  • Mostrar detalle
  • Presente modalmente
  • Presentación Popover
  • Personalizado

ingrese la descripción de la imagen aquí

¿Cuál es la diferencia entre ellos? No pude encontrar ninguna documentación al respecto. Solía ​​haber algunos que encontré en una búsqueda en Google, pero ahora desapareció: https://developer.apple.com/library/ios/recipes/xcode_help-interface_builder/articles-storyboard/StoryboardSegue.html



el enlace de documentación de segue es help.apple.com/xcode/mac/8.0/#/dev564169bb1
Cœur

Respuestas:


535

Aquí hay un resumen rápido de los valores y un ejemplo para cada tipo.

Mostrar : empuja el controlador de vista de destino en la pila de navegación, deslizando el sobre de derecha a izquierda, proporcionando un botón de retroceso para volver a la fuente, o si no está incrustado en un controlador de navegación, se presentará modalmente
Ejemplo: Navegación de bandejas de entrada / carpetas en Mail

Mostrar detalles : para usar en un controlador de vista dividida, reemplaza el controlador de vista detallada / secundaria cuando se encuentra en una interfaz expandida de 2 columnas, de lo contrario, si se contrae en 1 columna, empujará en un controlador de navegación
Ejemplo: en Mensajes, al tocar una conversación se mostrará el detalles de la conversación: reemplazar el controlador de vista a la derecha cuando está en un diseño de dos columnas, o empujar la conversación cuando está en un diseño de una sola columna

Presentar modalmente : presenta un controlador de vista en varias formas animadas, tal como se define en la opción Presentación, que cubre el controlador de vista anterior, más comúnmente utilizado para presentar un controlador de vista que se anima desde abajo y cubre toda la pantalla en iPhone o iPad. es común presentarlo como un cuadro centrado que oscurece el controlador de vista de presentación
Ejemplo: seleccionar Touch ID y contraseña en la configuración

Presentación de Popover : cuando se ejecuta en iPad, el destino aparece en un popover, y al tocar en cualquier lugar fuera de este popover se descartará, o en los popovers de iPhone también son compatibles, pero de forma predeterminada presentará el destino modalmente en pantalla completa
Ejemplo: tocando el botón + en Calendario

Personalizado : puede implementar su propio seguimiento personalizado y tener control sobre su comportamiento

Los segmentos obsoletos son esencialmente los equivalentes no adaptativos de los descritos anteriormente. Estos tipos de segue fueron obsoletos en iOS 8: Push, Modal, Popover, Reemplazar.

Para obtener más información, puede leer la documentación sobre el uso de segmentos que también explica los tipos de segmentos y cómo usarlos en un guión gráfico. Consulte también la Sesión 216 Creación de aplicaciones adaptativas con UIKit de WWDC 2014. Hablaron sobre cómo puede crear aplicaciones adaptativas utilizando estos nuevos Segmentos adaptativos, y crearon un proyecto de demostración que utiliza estos segmentos.


¿Puedes definir la diferencia entre Push y Show segues?
iGautham

@Gautham Push es la secuencia no adaptativa y en desuso que Show ha reemplazado.
Jordan H

Gracias @ Joey. Puedo ver eso. Tengo otra pregunta para ti. Puedo ver que Show es adaptativo en el contexto de las clases Size. ¿Crees que me estoy perdiendo algo aquí?
iGautham

@Gautham Lo siento, no entiendo cuál es la pregunta. Sí, el espectáculo es adaptativo y el empuje no.
Jordan H

@Joey como novato en ios dev Quiero decir gracias por dejar esto en claro. 1). Pero, ¿cuál es la diferencia entre show / modal segue? Es decir, si agrega su propio botón de retroceso personalizado al VC que se muestra como modal. 2.) ¿Qué tipo de segue debo usar si quiero restablecer la pila de navegación? P.ej. El usuario hace clic en la cuenta y luego es llevado a la página de su cuenta en la aplicación. La página de la cuenta debería mostrar un ícono / menú de hamburguesas en lugar de una flecha hacia atrás al VC anterior
user2722667

173

Para mayor claridad, me gustaría ilustrar la respuesta de @ Joey arriba con estos gifs:

mostrar

ingrese la descripción de la imagen aquí

Mostrar detalle

ingrese la descripción de la imagen aquí

Presente modalmente

ingrese la descripción de la imagen aquí

Presente como popover

ingrese la descripción de la imagen aquí


3
Esta es una excelente representación visual, pero una corrección: el Show Show segue actúa como un modo modal en iPhone en lugar del comportamiento "Show" segue como se muestra aquí.
Zig

Excelente presentación
shubham mishra

22

Parece que el documento se ha movido aquí: https://help.apple.com/xcode/mac/8.0/#/dev564169bb1

No puedo copiar los íconos aquí, pero aquí están las descripciones:

  • Mostrar : presente el contenido en el área de detalle o maestra según el contenido de la pantalla.

    Si la aplicación muestra una vista maestra y de detalles, el contenido se inserta en el área de detalles. Si la aplicación solo muestra el maestro o el detalle, el contenido se coloca en la parte superior de la pila del controlador de vista actual.

  • Mostrar detalles : presente el contenido en el área de detalles.

    Si la aplicación muestra una vista maestra y detallada, el nuevo contenido reemplaza al detalle actual. Si la aplicación solo muestra el maestro o el detalle, el contenido reemplaza la parte superior de la pila del controlador de vista actual.

  • Presente modalmente : Presente el contenido modalmente.

  • Presente como Popover : Presente el contenido como un popover anclado a una vista existente.

  • Personalizado : cree sus propios comportamientos utilizando un segue personalizado.


0

Para aquellos que prefieren un aprendizaje un poco más práctico, seleccione el segue en el dock, abra el inspector de atributos y cambie entre diferentes tipos de segues (menú desplegable "Tipo"). Esto revelará opciones específicas para cada una de ellas: por ejemplo, puede ver que "presentar modalmente" le permite elegir un tipo de transición, etc.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.