Use guiones gráficos o XIB, no escriba todo el código de su interfaz de usuario mediante programación.
Algunas ventajas para usar XIB:
- Los XIB le brindan una mayor flexibilidad sobre las transiciones entre los controladores de vista que los Storyboards, y un XIB no se hincha tanto como un Storyboard porque solo contiene una vista.
- Interface Builder tiene configuraciones para muchas propiedades básicas de la interfaz de usuario (por ejemplo, texto de etiqueta, color). Cualquier configuración que no tenga puede establecerla con el código. El uso de Interface Builder es más eficiente de esta manera, porque pasa menos tiempo escribiendo código de interfaz de usuario mundano.
- XIB y Storyboards le permiten delinear visualmente y configurar su IU. Descubrirá que a medida que trabaja con diseñadores gráficos exigentes, ayuda a ver visualmente lo que está construyendo. Un codificador que ciegamente pone valores RGB para un color que tomó de Photoshop es estúpido: desea ver que los colores coinciden. Lo mismo ocurre con la creación de prototipos de una interfaz de usuario: es simplemente más fácil ver su interfaz de usuario en Interface Builder.
Algunos inconvenientes para codificar mediante programación todas las interfaces de usuario:
- ¿Cómo debo estructurar mi aplicación iOS?
- Cómo hacer una aplicación de iPhone y una sala de chat
- ¿Se puede crear una aplicación para iPhone sin un iPhone o iPad?
- Cómo crear una aplicación basada en navegación en Xcode 8
- Si quisiera aprender a construir un juego social para iOS, ¿qué libros debería leer?
- Es mucho más trabajo codificar todas sus interfaces de usuario mediante programación. Un verdadero codificador perezoso, algo bueno, utiliza herramientas para hacer su trabajo más fácil, más productivo y más eficiente. Si desea personalizar su interfaz de usuario de tal manera que Interface Builder no puede hacerlo, acceda con un código personalizado. Codificar todas sus interfaces programáticamente diciendo que permitirá una mayor flexibilidad es estúpido: puede ahorrar tiempo con XIB y personalizarlas con código en cualquier momento que lo desee.
- El diseño automático ya es un trabajo difícil y sin un editor visual que solo empeora. En Interface Builder puede ver exactamente las restricciones y sus efectos, de nuevo un “ayudante” visual. Tampoco tiene que ejecutar su código para ver los cambios de restricciones, como lo haría cuando configura las restricciones manualmente. Ah, y no me digas que estás configurando las coordenadas x / y UI a mano …
- Es difícil escribir el código de la interfaz de usuario con elegancia. Necesita una línea para cada nueva propiedad que está configurando, termina con más de 15 propiedades perezosas en la parte superior de su clase antes de llegar al código “real”, y necesita una gran cantidad de código indirecto para responder a la interfaz cambios Lo peor de todo es que el código realmente no “hace” nada, solo pone un color en una etiqueta. Con todo ese código, será más difícil ver el código que realmente importa para la ejecución de su aplicación.
En general, creo que hay una consecuencia real por no usar las tecnologías proporcionadas por Apple. ¿Qué sucede si nunca aprendió a usar el diseño automático? ¿O qué de ustedes nunca aprendió a usar XIB? ¿O qué pasa si nunca aprendiste a cambiar un UILabel con código?
Como programador, querrás descubrir continuamente nuevas formas de hacer cosas, porque tu trabajo literalmente depende de ello. Elegir una forma sobre la otra simplemente porque alguien te dijo que es lo correcto es estúpido. Desea probar ambos, conocer ambos y luego elegir el mejor para la tarea en cuestión. No para cada tarea, solo para la tarea en cuestión.
Quizás lo peor de hacer todo programáticamente es que podría terminar creando un marco para facilitar su trabajo. Comienza a nombrar sus campos de texto de una manera específica, y crea una clase de fábrica para ayudarlo a producir campos de texto con las configuraciones correctas, y luego puede cambiar todas las configuraciones de campos de texto con solo una línea de código.
Hasta que te des cuenta … ¡has recreado XIBs / Storyboards y los proxies de apariencia sin conocerlos!