priority guide developer constraint classes apple adaptive ios xcode autolayout adaptive-layout

ios - guide - El fotograma "será diferente en el tiempo de ejecución"... ¿No es ese el punto?



size classes xcode 9 (3)

Tal vez el esfuerzo por un proyecto "libre de advertencias" sea inútil, pero estoy lo suficientemente nervioso sobre Adaptive Layout / AutoLayout que estoy obligado a intentar aplastar estas advertencias.

Tengo una vista que quiero que tenga un tamaño dinámico en función del ancho de la pantalla vertical. Tengo mi aplicación configurada en Build Info for Universal, Portrait only (y al revés). He restringido la vista de las siguientes maneras:

  1. Alinearon el centro de la vista con el centro de Superview X
  2. Hizo el ancho de la vista proporcional al ancho del Superview
  3. Dio a la vista una restricción de relación de aspecto de 1: 1
  4. Dada la vista una restricción vertical a la parte superior de la vista superior

Para más detalles, consulte la captura de pantalla a continuación.

Así que ahora recibo las advertencias acerca de que "el cuadro es diferente en el tiempo de ejecución", en particular el tamaño y la posición en tiempo de ejecución en comparación con lo que hay en el lienzo. No estoy seguro de por qué Xcode "se preocupa" por el lienzo en el que los tamaños de clase se establecen en Cualquier altura y Cualquier ancho. Pensé que el punto central del diseño adaptativo es que los tamaños y las posiciones se resuelven en tiempo de ejecución según el tamaño y la orientación de la pantalla del dispositivo.

Si desglose y dejo Xcode "Actualizar cuadros" ... sí, la advertencia desaparece, pero con las vistas súper grandes es prácticamente imposible trabajar gráficamente en el pequeño lienzo de manera WYSIWIG. ¿Hay alguna solución para deshacerse de las advertencias sin crear vistas de gran tamaño que hagan que trabajar dentro del lienzo sea casi imposible?


¡Puedes cambiar el tamaño de las métricas simuladas, por ejemplo, a un iPhone de 4 pulgadas!

O Freeform y luego cambie el tamaño a lo que más le convenga.


Para deshacerse de la advertencia, y dejar que las restricciones coloquen las vistas "correctamente", simplemente seleccione la vista que da la advertencia, presione el triángulo pequeño en la esquina inferior derecha del guión gráfico:

Y luego seleccione "Actualizar marcos" para "Todas las vistas en el contenedor"

(Desearía que hubiera alguna forma de hacer esto en todo un guión gráfico. Al menos no lo he encontrado)


Seleccione una vista y presione

  • Opción + Comando + =

Esto actualizará el tamaño del marco. Repita para todas las vistas ofensivas. No toma tanto tiempo, especialmente si los encuentra haciendo clic en los mensajes de error.

Gracias a esta respuesta por la idea.

Notas

Después de actualizar a Xcode 8, y de elegir Ver como dispositivo, recibí este error. El menú es diferente al de Xcode 7, por lo que la respuesta de @ Spoek ya no funcionaba. También haciendo clic en Actualizar o Restablecer no funcionaba para mí.

Actualizar

Actualizar marcos ahora tiene su propio botón. Por eso me lo perdí antes.