Este código puede cambiar el color de UINavigationBar
en todas partes dentro de la aplicación. Sin embargo, me di cuenta de que no cambia el UIColor
del UINavigationBar
utilizado porUINavigationController
(el mío proviene de un UIStoryboard
).UINavigationController cambie el color del tinte de la barra de navegación de forma global y programáticamente
UIColor* navBarColor = [UIColor colorWithRed:arc4random()%100/100.0
green:arc4random()%100/100.0
blue:arc4random()%100/100.0
alpha:1];
[[UINavigationBar appearance] setTintColor:navBarColor];
[[UINavigationBar appearance] setBarStyle:UIBarStyleBlackTranslucent];
[[UINavigationBar appearance] setAlpha:0.7];
¿Hay una manera de acceder al appearance
objeto de una barra de navegación UINavigationController's
? Sé cómo establecer los matices de los controladores individuales, pero quiero tener un control global sobre su apariencia.
Actualización: Esta fue mi error, el código cambia la UIColor
de todos UINavigationBars
, pero requiere el control de navegación de la raíz a ser cubiertas y descubiertas (por ejemplo, la presentación de un controlador de vista modal), y luego se volverá a sorteo ¡sí mismo con nuevo UIColors
!
¡Gracias!
Tenga en cuenta que '' UITextAttributeTextColor' y UITextAttributeShadowColor' han sido desaprobados - usar '' NSForegroundColorAttributeName' y NSShadowAttributeName' lugar. – thomers