¿Qué impacto tienen las métricas simuladas?

Al usar archivos .xib, ¿qué impacto tiene en su código / aplicación el cambio de métricas simuladas? ¿O es solo para su beneficio como una herramienta de vista previa?

Las medidas simuladas son principalmente una ayuda de diseño para ayudarlo a diseñar su interfaz. Tienen poco impacto directo en .xib * [1]. Son muy útiles porque puede simular cosas como que su controlador de vista está incrustado en un controlador de navegación, lo que le da menos espacio para trabajar, ya que la barra de navegación ocupa algo de espacio. También son muy útiles si está desplegando un controlador de vista que solo se utilizará en el paisaje. En el momento en que se presentaron, era la única forma de comprobar cómo se vería su interfaz en la pantalla más corta del iPhone 4 y en la pantalla más alta del iPhone 5 * [2].

Frecuentemente configuro el Tamaño para iPhone 4 pulgadas porque: 1) Encuentro trabajar en la vista cuadrada. Discreción del controlador, 2) Toma mucho menos espacio en la pantalla, lo que me permite ver más de mi Guión gráfico en la pantalla de mi computadora portátil. Este método es mucho menos peligroso que cambiar la clase de tamaño a wC hR porque este último realmente afectará las restricciones que se usan para dispositivos de diferentes tamaños.


[1] Las métricas de Tamaño y Orientación afectarán el tamaño del ViewController tal como está almacenado en el archivo .xib o .storyboard . Si deja la configuración como Inferida , Xcode usará 600 x 600 como tamaño de viewController. Normalmente, esto no hace ninguna diferencia, porque viewController tendrá el tamaño adecuado para el dispositivo cuando se carga.

[2] En el momento en que se introdujeron las medidas simuladas , esta fue la forma de probar diseños para el iPhone 4s frente al nuevo iPhone 5 más alto. Desde entonces, Apple ha introducido otras formas mejores de verificar diseños en varios tamaños de dispositivos.

Bueno, en realidad, cambiar las medidas simuladas afecta su aplicación de una manera muy furtiva. Lo descubrí al usar la biblioteca SwipeView y todas mis diapositivas se vieron afectadas al cambiar el tamaño de la métrica simulada.

Debajo del capó que cambia ese tamaño se establece el valor rect del archivo de plumillas como tal:

  

Ese valor va a ser del tamaño que lanza la punta. Si tratamos de medir elementos a la vista si carga y aparece aparecerá tendremos información falsa:

 // viewDidLoad (lldb) po splashImageView > // viewWillAppear (lldb) po splashImageView > 

Una vez que se realizan las subvistas de diseño, tenemos el tamaño adecuado, pero en lo que respecta a SwipeView, ya es demasiado tarde, ya se calculó la posición de todo.

 // viewDidLayoutSubviews (lldb) po splashImageView > 

Si alguien puede proporcionar más información, realmente me gustaría.

Mire WWDC 2015 Session 407 Implementación de Diseños UI en Interface Builder , ellos hablaron sobre Simulated Metrics

enter image description here

Inferido

Ahora, en este momento, todos están diciendo inferido. Inferido simplemente significa usar el contexto a mi alrededor. Sabemos que estamos dentro de un controlador de barra de tabs, sabemos que estamos dentro de un controlador de navegación para que el creador de interfaces sepa qué barra mostrar.

Métricas simuladas

Todas estas métricas no afectan su aplicación real en tiempo de ejecución con una excepción y esa es la métrica simulada de tamaño.

El tamaño de la métrica simulada realmente cambiará el tamaño de su controlador de vista, pero generalmente lo colocará en una jerarquía de controlador de vista que lo redimensionará, pero también es útil si está creando controladores de vista de forma libre, por ejemplo, y desea para establecer tu propio tamaño