iOS: los colors definidos en Interface Builder son diferentes de los colors en la vista web.

Estamos construyendo una aplicación de iOS que utiliza parcialmente UIWebView para representar algunos elementos de la interfaz de usuario. Noté que los colors definidos en el Storyboard se representan de manera diferente a los colors con los mismos valores en la vista web. La siguiente captura de pantalla muestra tres ejemplos de colors en el guión gráfico y en el emulador: #00C2F0 , #00843C y #FF008F .

colores cambiados Interface Builder and Emulator

Los cuadrados de la izquierda muestran cada color representado como color de background-color CSS dentro de una UIWebView , el cuadrado derecho muestra el color asignado como background a una UIView directamente a través de Interface Builder.

Cuando tomo una captura de pantalla y mido los valores de color en Photoshop, el color que se muestra dentro de UIWebView es exactamente como se definió (es decir, que coincide exactamente con los valores de color hexadecimal dados anteriormente), mientras que el color que se muestra a través de UIView se desplaza.

He leído varias publicaciones sobre colors "erróneos" en iOS, que explican este "problema" debido a la administración del color con el objective de tener una apariencia visual consistente en todos los dispositivos (por ejemplo, aquí o aquí ). Si bien esto suena totalmente razonable, no explica la representación inconsistente a través de diferentes controles.

¿Hay algo que pueda hacer para lograr colors coincidentes entre las vistas nativas de iOS y los colors representados en un UIWebView ?

Finalmente resolví mi problema: el motivo no UIWebView específico de UIWebView como suponía originalmente, sino que estaba causado por el hecho de que los colors asignados a través de Interface Builder estaban en el espacio de color sRGB. Cambiar a "RGB genérico" y luego volver a asignar los valores de color hexadecimal resolvió mi problema.

color color picker space

Muy útil fue esta pregunta y respuesta (creo que la bandera duplicada no está justificada).