2009-05-25 13 views
8

Estoy agregando un control segmentado a una barra de navegación en mi aplicación de iPhone. Por defecto, el color del control segmentado coincide con el color de la barra de navegación. Quiero hacer coincidir el color del control segmentado con otros botones en la barra de navegación (como el botón de navegación hacia atrás).¿Cuál es el color predeterminado para los botones de la barra de navegación en el iPhone?

¿Alguien puede decirme un valor RGB (o un color de sistema) que coincida con el color predeterminado de UIButtonBarItems que se han agregado a un UINavigationBar con un estilo de UIBarStyleDefault?

Respuesta

18

Después de un tiempo, me di cuenta de que el iPhone estaba aplicando un gradiente de color azul al botón, por lo que el tinte tenía que ser bastante gris. Finalmente golpeé esta combinación de HSV que es bastante perfecto. Tenga en cuenta que según la documentación, todos los valores se especifican como valores de coma flotante entre 0 y 1.

Hue: 0.6 

Saturation: 0.33 

Value: 0.69 

Alpha: 0 

espero que esto ahorra un par de horas de trabajo para algún otro desarrollador.

+4

aplausos;) self.navigationController.navigationBar.tintColor = [UIColor colorWithHue: saturación 0.6: brillo 0.33: 0.69 alfa: 0]; – oberbaum

+0

¡buenas cosas! se ve perfecto! – cgossain

+2

@norskben esto funciona, pero mmm esto no tiene sentido para mí, alpha 0? –

1

Enseñe a alguien a pescar.

Compruebe su sistema para una aplicación llamada Digital Color Meter o algo por el estilo. Puede usar esto para obtener los valores RGB de los colores en la pantalla.

+3

Ese pez que puedes guardar. ;-) Ya lo he intentado. El problema es que el iPhone aplica automáticamente un degradado al color de fondo, por lo que tratar de determinar qué parte del gradiente medir es un problema. Lo que necesito es el color de fondo que se utiliza debajo del degradado, antes de que se muestre al usuario. – ceperry

+0

Gotcha. No recuerdo haber visto eso publicado en ninguna parte, pero una herramienta de gráficos y algunas pruebas y errores pueden funcionar. – Jordan

+0

'DigitalColor Meter' realmente me ayudó en la Mac. Gracias. – zerowords

3

utilizo éste:

[UIColor colorWithHue:0.6 saturation:0.33 brightness: 0.65 alpha:1.0]; 
1

Para ahorrar un poco más de tiempo, el valor RGB para que sea:

RGB(118, 141, 176). 

Si desea volver a crear el color para el estado 'abajo' de la barra de botones, el valor RGB es:

RGB(0, 23, 73). 

el gradiente no estoy seguro, pero esto es el color base.

3

Ajuste el color de la tinta, así:

self.navigationController.navigationBar.tintColor = nil

Se le dará el color predeterminado y la sombra de gradiente también.

Cuestiones relacionadas