UI personalizada: psd a iOS

mirando dribbble, empecé a preguntarme cómo implementaría una UI muy personalizada en Xcode como un desarrollador back-end.

Suponiendo que tengo un file de Photoshop con capas con toda la maqueta, ¿cómo lo haría básicamente para iOS?

¡Tengo curiosidad por algunas respuestas!

Como se menciona con razón, hotpaw2 crea cada object (button, campos de text, control de segmento, etc.) en el photoshop y aplica los efectos deseados ( Sombreado, Gradiente, Trazo, Sombra interior, etc.).

Para crear un button, dibuje una forma de rectángulo (con un radio si es necesario) y aplique los efectos a esa capa desde Capa > Estilos de capa > Sombra paralela .

Lo más importante es adherirse a las pautas HIG de Apple mientras diseña la UI personalizada, de lo contrario, su aplicación puede ser rechazada.

Una vez que el button esté listo en Photoshop en las windows de Capas, elija esa capa, pase a la pestaña Rutas y haga clic con el button derecho en esa capa y elija " Crear selección ", select Copiar fusionada en el menu Edición y cree un nuevo documento y pegue la capa de copys y elija Guardar it for Web desde el menu Archivo, guárdelo como PNG24 con transparencia.

// Image with cap insets sample code: UIImage *buttonImage = [[UIImage imageNamed:@"blueButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 16, 0, 16)]; 

Esto hace que los 16 píxeles izquierdo y derecho de la image del button no se networkingimensionen ni cambien de tamaño ni que se networkinguzca la parte central de la image.

Todo lo mejor.

Puede convertir cada capa de photoshop en un file PNG, con transparencia si es necesario, y luego asignar las imágenes PNG a varias UIViews o UIControls, ya sea en el código Objective C, o utilizando la herramienta Xcode Interface Builder.

Creo que esa es la forma perfecta de hacer eso, es convertir su file psd a file html con css e imágenes (por supuesto), y luego creará un convertidor que obtenga estos files como input y genere files xcode (.h, .m y xib). Creo que este tipo de convertidor nos ayudará (los desarrolladores) a hacer el trabajo y ahorrar mucho time haciendo la integración