que for ios xcode storyboard

for - xcode ios screen



Tengo que actualizar el marco de todo en el guión gráfico cada vez que comienzo Xcode (6)

Así que cada vez que abro mi proyecto en Xcode, tengo cientos de advertencias porque se han movido los marcos de cada Objeto UI. Tengo que tomarme el tiempo e ir a cada UIViewController y actualizar los marcos en él.

¿Hay alguna razón para que esto suceda? ¿Cómo puedo arreglar esto? ¿Alguna otra información que necesito mencionar?


¿Utiliza un repositorio para su código? Es posible que falte algún archivo de configuración, probablemente no se haya realizado correctamente


Aquí hay un par de razones que he visto para puntos de vista intermitentemente fuera de lugar. No estoy seguro de si alguno de estos es responsable del problema que está viendo; por lo general, esto causará que algunas vistas se pierdan aquí y allá, no todas las vistas en su guión gráfico. Pero los he enumerado por si acaso ayuda.

  • Los diferentes miembros del equipo pueden usar diferentes versiones de Xcode, que pueden posicionar ciertas vistas de manera ligeramente diferente, y que ciertamente cambiarán el archivo del guión gráfico "versión de la herramienta" y así sucesivamente.
  • Las restricciones no suelen ser felices con anchuras / alturas fraccionarias en ellas. Esto puede ser difícil de detectar: ​​por ejemplo, puede tener una vista cuya altura intrínseca es un número impar de píxeles centrados verticalmente dentro de una vista cuya altura es un número par de píxeles, lo que hace que la vista interna se inicie en un medio píxel compensado y desea ser reposicionado más alto o más alto cuando se vuelve a abrir el guión gráfico.

Creo que esto se solicitó anteriormente aquí: Interface Builder degrada los guiones gráficos, cambia el tamaño y vuelve a colocar las vistas en pequeños incrementos

Todavía no he visto una solución al problema, pero la respuesta que publiqué allí probablemente sea cierta aquí. https://.com/a/28577800/682574

Al menos una fuente se debe a los guiones gráficos que resuelven los diseños a los límites de píxeles completos (x = 7.0, y = 10.0) o los límites parciales (x = 7.5, y = 10.5). Lo mejor que puedo decir, esto se puede recalcular cada vez que vea el guión gráfico y el redondeo se determine realmente en función del entorno de visualización actual.

Puede causar este comportamiento intencionalmente al ver el guión gráfico en una pantalla de retina y luego verlo en una pantalla sin retina. Con mi pantalla de monitor dual, si solo arrastro un guión gráfico de una pantalla (retina 5k) a otra (no retina), se generará una avalancha de restricciones desalineadas. ¡Lamentablemente moverlo de vuelta no los arregla! Pruébelo usted mismo (o no ... es un dolor corregirlo).

En un entorno de equipo, es fácil ver cómo podría suceder esto tan pronto como dos personas con configuraciones diferentes vean el mismo guión gráfico.

¿Como arreglarlo? Desafortunadamente, no he oído hablar de un flujo de trabajo que corrija o evite adecuadamente el problema.


En mi caso, esto sucedió porque la clase de tamaño para la que establecí las restricciones y el diseño se modificaron cuando abro el proyecto Xcode. Así que asegúrese de que la clase de tamaño siga siendo la misma para la que ha aplicado el diseño o cámbiela si Xcode la ha modificado.

Si lo anterior no funciona para usted, puede intentar tener un repositorio local creado por Xcode y confirmar el código antes de salir de Xcode.

¡¡Espero que esto ayude!!


Para los archivos xib, puede escribir fácilmente un script que actualice automáticamente los marcos:

ibtool input.xib --update-frames --write input.xib

Pero no debe preocuparse por estas advertencias: los marcos se ajustarán automáticamente durante la ejecución.


Su podría suceder debido a tener 4k pantalla externa. Todos en mi equipo no tienen este tipo de problema, solo yo.

Después de abrir Xcode, intenta alinear los puntos lógicos con los píxeles físicos, por lo que todo se mueve alrededor de 0,5 puntos.