for features ios xcode interface-builder

ios - features - Pantalla de inicio que se comporta exactamente igual que la imagen de inicio.



xcode version for ios 12 (4)

  1. Primero crea todas tus imágenes. Luego, abra su catálogo de activos y haga clic con el botón derecho -> Iconos de aplicaciones e Imágenes de lanzamiento -> Nueva imagen de lanzamiento de iOS. Esto creará un archivo para arrastrar todos sus archivos en. Haz eso. Nombre el activo "Lanzar".

  2. Crea un nuevo guión gráfico de inicio con el comando-n. Seleccione iOS -> Interfaz de usuario -> Pantalla de inicio. Llame al archivo "Pantalla de inicio".

  3. En su guión gráfico de pantalla de inicio, seleccione la vista del controlador de vista

El .

  1. Encuentre el marcador de posición UIImageView de la biblioteca de objetos en la esquina inferior del lado derecho ba, y arrástrelo a la vista de pantalla de inicio.

  1. Ahora, seleccione la vista de imagen en el guión gráfico y escriba el nombre de la imagen de su catálogo de activos.

  1. Controle el arrastre desde UIImageView a su vista de contenedor para configurar las restricciones de diseño automático de la siguiente manera:

  1. Opcional ... si desea que se vea bien en su guión gráfico, seleccione la vista y haga la opción-cmd- = para actualizar el marco de UIImageView.

  2. Vaya a info.plist y escriba el nombre de su guión gráfico ("Pantalla de inicio") para la clave "Nombre de la base de archivos de la interfaz de la pantalla de inicio"

  3. Limpia y corre.

Espero que ayude y que no se me olvide nada!

Para que iPad Pro use una resolución completa en el lanzamiento, tenemos que usar un archivo de pantalla de inicio .

Nunca antes había usado Launch Screen XIB / Storyboard, porque mi aplicación es compatible con iOS 7. Normalmente, uso un catálogo de activos LaunchImage para definir una imagen estática específica para cada dimensión de dispositivo y orientación de lanzamiento.

Ahora estoy tratando de definir un archivo de pantalla de lanzamiento que actúa como un catálogo de activos LaunchImage, pero estoy luchando por hacerlo. En particular:

1) No veo una buena forma de seleccionar un UIImage diferente según el tamaño exacto del dispositivo, por ejemplo, mostrar una imagen a los usuarios de iPhone 4S y otra imagen a los usuarios de iPhone 5.

2) No veo una manera de seleccionar un UIImage diferente para las vistas Vertical y Vertical del iPad. Las clases de tamaño parecen pensar que tanto el iPad Portrait como el iPad Landscape tienen un ancho "Regular" y un alto "Regular", por lo que cualquier UIImage que aparezca en el iPad Portrait también aparecerá en el iPad Landscape.


El sistema carga el archivo de inicio antes de iniciar la aplicación, lo que crea algunas restricciones sobre lo que puede contener (algunas de las cuales pueden hacer que vuelvas a los archivos de imagen estática):

1.La aplicación aún no está cargada, por lo que la jerarquía de vistas no existe y el sistema no puede llamar a ningún código de configuración de controlador de vista personalizado que pueda tener en la aplicación (por ejemplo, viewDidLoad)

2.Sólo puedes usar clases UIKit estándar, así que puedes usar UIView o UIViewController pero no una subclase personalizada. Si intenta establecer una clase personalizada, recibirá un error de configuración no válida en Xcode.

3.El archivo de inicio solo puede usar vistas básicas de UIKit como UIImageView y UILabel. No puedes usar un UIWebView.

4. Si está utilizando un guión gráfico, puede especificar varios controladores de vista, pero nuevamente hay algunas limitaciones. Por ejemplo, puede incrustar controladores de vista en un controlador de barra de pestañas o de navegación, pero las clases de contenedor más complejas como UISplitViewController no funcionan (al menos no todavía).

5. La localización del archivo de inicio actualmente no parece tener ningún efecto. La localización base siempre se utiliza, por lo que es probable que desee evitar el texto en la pantalla de inicio.

6. No puede especificar diferentes archivos de inicio para iPad y iPhone. Esto puede ser un problema si tiene interfaces significativamente diferentes para esos dispositivos, ya que solo hay tanto que puede hacer con el diseño automático y las clases de tamaño.

Tenga en cuenta que si está implementando en iOS 7, todavía deberá incluir los archivos de imagen de inicio estático. Puede incluir tanto un archivo de imagen de lanzamiento como imágenes de lanzamiento estáticas. Los dispositivos como el iPhone 6 con iOS 8 utilizarán el archivo de imagen de inicio, mientras que los dispositivos con iOS 7 retrocederán a las imágenes de inicio.


Esta es una solución para iPad que puede funcionar,

para iPhone puedes usar clases de tamaño y no estoy publicando esa solución aquí.

La solución es dividir la imagen de la pantalla de bienvenida en componentes y usar restricciones para manipular la imagen para Retrato contra Paisaje.

Aquí hay un ejemplo de cómo lo hice.

Crear un guión gráfico de lanzamiento para iPad

UILaunchStoryboardName ~ ipad (UILaunchStoryboardName ~ iphone)

Toma tu imagen de paisaje en mi estuche 2048x1536

Tomé la imagen del paisaje y la corté en tres.

  1. Centro 1536x1536
  2. Izquierda 256x1536
  3. Derecho 256x1536

En el guión gráfico de lanzamiento creé 3 vistas de imagen con las siguientes restricciones

Pieza central:

  • Pin en la parte superior e inferior,
  • centro en superview,
  • mantener la relación de aspecto

Pieza izquierda y derecha:

  • 0 arrastrando / conduciendo al centro,
  • Alinear la parte superior,
  • Igual altura

Luego, para el modo de la vista de la izquierda y la derecha, lo cambié del relleno de aspecto a la parte inferior derecha e inferior izquierda (funcionó mejor para mí)

Sé que esto parece una exageración para algo que debería ser simple. Mi razón para usar el guión gráfico de lanzamiento sobre las imágenes de lanzamiento fue reducir el tamaño de la aplicación. Necesitaba menos imágenes de lanzamiento y podía usar jpeg en lugar de png


Puede usar Clases de tamaño para especificar diferentes imágenes para diferentes tamaños de pantalla, pero esto no le ayuda a manejar los casos de pantallas de iPhone 4S y iPhone 5