Quiero establecer el fondo para que la barra de navegación sea negra y todos los colores dentro de ella sean blancos .
Entonces, usé este código:
[[UINavigationBar appearance] setTitleTextAttributes:
[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor whiteColor],
NSForegroundColorAttributeName,
[UIColor whiteColor],
NSForegroundColorAttributeName,
[NSValue valueWithUIOffset:UIOffsetMake(0, -1)],
NSForegroundColorAttributeName,
[UIFont fontWithName:@"Arial-Bold" size:0.0],
NSFontAttributeName,
nil]];
Pero el color del texto del botón de retroceso , la flecha y el botón de la barra todavía tienen el color azul predeterminado .
¿Cómo cambiar esos colores como en la imagen de abajo?
Respuestas:
El comportamiento de algunas de las propiedades de
UINavigationBar
ha cambiado desde iOS 7 . Puedes ver en la imagen que se muestra a continuación:Dos hermosos enlaces que me gustaría compartir con ustedes. Para más detalles puede ir a través de estos enlaces:
La documentación de Apple para barTintColor dice:
Código de muestra :
fuente
[self.navigationController.navigationBar setTitleTextAttributes:@{[UIFont fontWithName:@"YOURFONT" size:14], NSFontAttributeName}];
Esto me llevó alrededor de medio día para resolverlo, pero esto es lo que funcionó para mí. Dentro del rootViewController que inicializa el navigationController, pongo este código dentro de mi método viewDidAppear:
Mi publicación completa sobre esto aquí
fuente
Swift3, ios 10
Para asignar globalmente el color, en AppDelegate
didFinishLaunchingWithOptions
:Swift 4, iOS 11
fuente
La respuesta de Vin funcionó muy bien para mí. Aquí está la misma solución para los desarrolladores de C # que usan Xamarin.iOS / MonoTouch:
fuente
Swift / iOS8
fuente
fuente
Para cambiar el color del
UINavigationBar
título de la manera correcta, use este código:UITextAttributeTextColor
está en desuso en la última versión de ios 7. Usar en suNSForegroundColorAttributeName
lugar.fuente
Si desea cambiar el tamaño del texto del título y el color del texto , debe cambiar el título NSDictionary titleTextAttributes para 2 de sus objetos:
fuente
Creo que las respuestas anteriores son correctas, esta es otra forma de hacer lo mismo. Lo estoy compartiendo aquí con otros por si acaso se vuelve útil para alguien. Así es como puede cambiar el color del texto / título de la barra de navegación en ios7:
fuente
Parece que los
Accessibility
controles en laiOS Settings
anulación prácticamente todo lo que intentas hacer con respecto al color de los botones de la barra de navegación. Asegúrese de tener todas las configuraciones en las posiciones predeterminadas (ajuste el aumento de contraste, texto en negrita , formas de botones, etc. a desactivado) de lo contrario no verá ningún cambio. Una vez que lo hice, todo el código de cambio de color comenzó a funcionar como se esperaba. Es posible que no necesite apagarlos todos, pero no lo busqué más.fuente
Swift 5 / iOS 13
Para cambiar el color del título en el controlador:
fuente