iOS
ModeloPresentaciónEstilos
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,
-
fullScreen
-
pageSheet
-
formSheet
-
currentContext
-
custom
-
overFullScreen
-
overCurrentContext
-
popover
-
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.
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,
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.
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á.
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
.
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,
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.
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.