Por qué no puedo establecer un color-tono personalizado para el UINavigationBar?
-
01-10-2019 - |
Pregunta
Quiero cambiar el color de la barra de navegación y la documentación indica que no intente cambiar el valor 'alfa'. Así pues, cómo puedo configurar un color que no es los valores definidos SDK (por ejemplo, [UIColor redcolor], brownColor, etc.) si todos los constructores proporcionan un valor alfa? He intentado conseguir el valor alfa actual, pero eso no ayuda. Cuando uso un color personalizado, hace que la barra de navegación para que parezca una radiografía (un flaco, negro sobre blanco).
[self.navigationController.navigationBar setTintColor: [UIColor brownColor]];
Solución
I puede ser tan idiota ... para meses ahora, asumí los valores variaron de 0..255 (es decir, valores de color HTML), pero están en el intervalo [0,0 .. 1,0]. Ahora que me puse mi valor 0..255 y normalizarla a 0..1 funciona como se esperaba. Escribí una sencilla aplicación de color-deslizador y cuando estaba debugging, es cuando me di cuenta de mi error.
Otros consejos
Prueba esto:
Al crear el UINavigationController inicialmente
MyNavigationController *navigationController = [[MyNavigationController alloc] init];
[[navigationController navigationBar] setTintColor:[UIColor redColor]];