Marco "será diferente en time de ejecución" … ¿No es eso el punto completo?

Tal vez luchar por un proyecto de "advertencia gratuita" es inútil, pero estoy lo suficientemente nervioso sobre Adaptive Layout / AutoLayout que me veo obligado a tratar de aplastar estas advertencias.

Tengo una vista que quiero que tenga un tamaño dynamic en function del ancho de la pantalla vertical. Tengo mi aplicación configurada en la Información de compilation para Universal, solo para retrato (y al revés). He restringido la visibilidad de las siguientes maneras:

  1. Alineado el centro de la vista con el centro X de Superview
  2. Hizo que el ancho de la vista fuera proporcional al ancho de Superview.
  3. Dio la vista una restricción de relación de aspecto de 1: 1
  4. Dada la vista de 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 sobre el "marco diferente de la vista en time de ejecución", en particular el tamaño y la position en time de ejecución frente a lo que está en el canvas. No estoy seguro de por qué Xcode "se preocupa" por el canvas donde los tamaños de class están configurados en cualquier altura y cualquier ancho. Pensé que todo el layout adaptable es que los tamaños y las posiciones se resuelven en time de ejecución en function del tamaño y la orientación de la pantalla de los dispositivos.

Si desgloso y permito a Xcode "Actualizar frameworks" … sí, la advertencia desaparece, pero con las vistas súper grandes es prácticamente imposible trabajar gráficamente en el pequeño canvas de una manera WYSIWIG. ¿Alguna solución aquí para deshacerse de las advertencias sin crear vistas sobnetworkingimensionadas que hacen que el trabajo dentro del canvas sea casi imposible?

Captura de pantalla de lona

¡Puede cambiar el tamaño de métrica simulada, por ejemplo, a un iPhone de 4 pulgadas!

introduzca la descripción de la imagen aquí

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

introduzca la descripción de la imagen aquí

Para deshacerse de la advertencia y dejar que las restricciones coloquen las vistas "correctamente", simplemente select la vista que está dando la advertencia, presione el triángulo pequeño en la esquina inferior derecha del guión gráfico: introduzca la descripción de la imagen aquí

Y luego select "Actualizar cuadros" para "Todas las vistas en contenedor"

(Desearía que hubiera una manera de hacerlo en un storyboard completo. Al less no lo he encontrado)

Selecciona una vista y presiona

  • Opción + Comando + =

Esto actualizará el tamaño del marco. Repite para todas las vistas ofensivas. No lleva tanto time, especialmente si los encuentra haciendo clic en los posts de error.

Gracias a esta respuesta por la idea.


Notas

Después de actualizar a Xcode 8, y elegir alguna vista como dispositivo, obtuve este error. El menu 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í.

introduzca la descripción de la imagen aquí

Actualizar

Update Frames ahora tiene su propio button. Es por eso que lo eché de less antes.

introduzca la descripción de la imagen aquí

    Intereting Posts