2012-06-16 19 views
5

Estoy diseñando un botón personalizado que me obligue a superponer un UIButton en la parte superior de un UIImageView. El UIImageView utiliza una imagen de [UIImage stretchableImageWithLeftCapWidth:topCapHeight:] y la UIButton tiene un color de fondo de una imagen patrón con [UIColor colorWithPatternImage:[UIImage imageNamed:@"buttonPattern.png"]]Pantalla Retina VS diferencia de color de pantalla normal

El problema que estoy enfrentando es que en el iPhone 4, las imágenes de la UIButton y la UIImageView parecen tener colores ligeramente diferentes, aunque deberían partido. Probar lo mismo en un iPhone 3GS muestra resultados normales sin la diferencia de color.

Esta imagen muestra la diferencia:

enter image description here

como se puede ver se ve bien en el 3GS. En la pantalla de retina, puede ver claramente la diferencia de color. Incluso traté de usar las imágenes de baja resolución (desde el 3GS) en la pantalla de la retina, los colores todavía se mostraban de manera diferente. ¿Es esto un error en los dispositivos de visualización retina? ¿Alguien ha enfrentado este problema antes?

+0

¿Te dos imágenes diferentes para el stretchableImage? Y si es así, ¿el @ 2x uno es exactamente 2 veces más grande que el otro? –

+0

sí, la imagen '@ 2x' es exactamente 2 veces más grande. También traté de eliminar las imágenes '@ 2x' y usar las normales solo para ver qué pasa. No lo solucionó. – KDaker

+1

¿Cómo se crearon todas las imágenes diferentes? ¿Usaste Photoshop (o cualquier otro programa de Adobe)? ¿Deshabilitaste la gestión del color? –

Respuesta

1

Asegúrese de que ninguno de sus archivos de imagen tenga un perfil de color incrustado. Esto puede ser complicado. Para el software de Adobe, esta página es útil:

http://bjango.com/articles/photoshop/

+0

En lugar de retina frente a no retina, tal vez las versiones de iOS diferentes tratan los perfiles de color de manera diferente. ¡Sucede mucho con los navegadores web! –

Cuestiones relacionadas