Buscar..


Introducción

Los estilos de presentación modal se utilizan cuando se está haciendo la transición de un controlador de vista a otro. Hay 2 formas de lograr esta personalización. Uno es a través del código y otro a través de Interface Builder (usando segues). Este efecto se logra al establecer la variable modalPresentationStyle en una instancia de UIModalPresentationStyle enum. modalPresentationStyle propiedad modalPresentationStyle es una variable de clase de UIViewController y se utiliza para especificar cómo se presenta un ViewController en la pantalla.

Observaciones

Siempre recuerda la siguiente mención de Apple.

En un entorno horizontalmente compacto, los controladores de vista modal siempre se presentan en pantalla completa. En un entorno horizontal regular, hay varias opciones de presentación diferentes.

Explorando ModalPresentationStyle usando Interface Builder

Esta será una aplicación muy básica que ilustrará diferentes ModalpresentationStyle en iOS. De acuerdo con la documentación que se encuentra aquí , hay 9 valores diferentes para UIModalPresentationStyle que son los siguientes,

  1. fullScreen
  2. pageSheet
  3. formSheet
  4. currentContext
  5. custom
  6. overFullScreen
  7. overCurrentContext
  8. popover
  9. none

Para configurar un proyecto, simplemente cree un proyecto de iOS normal y agregue 2 ViewControllers . Coloque un UIButton en su ViewController inicial y conéctelo al 2nd ViewController través de un mecanismo de Target -> Action . Para distinguir ambos ViewControllers , establezca la propiedad de fondo de UIView en ViewController otro color. Si todo va bien, tu Interface Builder debería tener un aspecto similar a esto. Constructor de interfaz inicial

Asegúrese de crear este proyecto y ejecutarlo en el iPad (para obtener más información sobre por qué iPad, consulte la sección de Comentarios). Una vez que haya terminado de configurar su proyecto, seleccione el segmento y vaya al attributes inspector . Deberías poder ver algo como esto, introduzca la descripción de la imagen aquí

Establezca la propiedad kind en Present Modally .

Ahora, no veremos todos los efectos en este ejemplo ya que algunos de ellos requieren un poco de código.

Vamos a empezar con fullscreen . Este efecto se selecciona de forma predeterminada cuando selecciona Present Modally en la pestaña Kind . Cuando construyes y ejecutas, el segundo ViewController ocuparía la pantalla completa de tu iPad.

introduzca la descripción de la imagen aquí

El siguiente es pageSheet . Puede seleccionar esta opción desde la pestaña Presentation . En esta opción, cuando el dispositivo está en modo vertical, el segundo ViewController es similar a la pantalla completa, pero en el modo horizontal, el segundo ViewController es mucho más estrecho que el ancho del dispositivo. Además, cualquier contenido no cubierto por 2nd ViewController se atenuará.

introduzca la descripción de la imagen aquí

Para el estilo de formSheet , el segundo ViewController se coloca en el centro del dispositivo y el tamaño es más pequeño que el del dispositivo. También cuando el dispositivo está en modo horizontal y el teclado es visible, la posición de la vista se ajusta hacia arriba para mostrar el ViewController .

introduzca la descripción de la imagen aquí

El último estilo que vamos a probar es popover . Para seleccionar este estilo, seleccione Present as Popover en la pestaña Kind . El 2nd ViewController se presenta como una pequeña ventana emergente (se puede configurar el tamaño). El contenido de fondo está atenuado. Cualquier toque fuera del popover descartaría el popover. Su Attributes Inspector debe verse algo como esto,

introduzca la descripción de la imagen aquí

Anchor es el elemento de la interfaz de usuario al que desea que apunte su flecha emergente. Directions son las direcciones en las que permite que su Anchor emergente señale.

introduzca la descripción de la imagen aquí

Hay más de estos estilos de presentación modal básicos, pero son poco complicados de lograr y requieren algo de código. Más detalles se pueden encontrar en la documentación de Apple.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow