2011-02-16 14 views
6

Hola a todos:
He establecido un fondo personalizado para mi barra de navegación, es un color de tinte que creo que elegí de IB. Ahora quiero cambiar el fondo de mi uitoolbar (agregado mediante programación) similar a mi barra de navegación, programáticamente. Obligado por cualquier ayuda en este sentido.cómo establecer el fondo de uitoolbar similar a mi barra de navegación

Lo siento muchachos mi malo es en realidad la barra de herramientas del controlador de navegación. así que esto funcionó para mí:
self.navigationController.toolbar.tintColor=self.navigationController.navigationBar.tintColor;

Gracias todos los chicos de u para una respuesta rápida, especialmente @phooze que me pusiese en la dirección correcta :)

Respuesta

11

UIToolbar también tiene una propiedad tintColor, al igual que un UINavigationBar. Debería poder establecer uno para el otro:

myToolbar.tintColor = myNavBar.tintColor; 

después de crear su barra de herramientas. Tenga en cuenta que este código solo funcionaría si myNavBar se hubiera cargado desde el NIB, por lo que sería mejor poner esto en viewWillAppear: o viewDidLoad.

Puede acceder al UINavigationBar desde la propiedad navigationBar de UINavigationController (probablemente s elf.parentViewController en su caso).

+0

Ya he intentado esto phooze ... no funciona en mi caso. Estoy haciendo esto en mi opinión: aparecerá: self.toolbar.tintColor = self.navigationController.navigationBar.tintColor; – Tobias

+0

¿Puede confirmar en ese punto en el código que ambos elementos son no-nil? – makdad

2

No hay manera de comparar los colores de la barra de navegación y la barra de herramientas, pero se puede establecer el color de la barra de herramientas con el siguiente código

aToolbar.barStyle = UIBarStyleBlackTranslucent; 
    aToolbar.tintColor = [UIColor blackColor]; 
    aToolbar.alpha = 0.7; 

o

aToolBar.tintColor = [UIColor colorWithRed:0.15 green:0.35 blue:0.45 alpha:0.6]; 
+1

Tiene razón al decir que no es posible comparar colores, pero puede pasar objetos UIColor si ya tiene uno (vea mi respuesta más arriba). – makdad

0

Si desea que el color negro por defecto de la barra de herramientas que puede usar

UIToolbar *ta; 
[ta setBarStyle:UIBarStyleBlack]; 
0

Utilice solo el siguiente código para eso ... está funcionando ..

toolbar.tintColor = self.navigationController.navigationBar.tintColor;

0

Utilicé el siguiente setBarTintColor que funcionó para mí, mientras que setTintColor no.

Cuestiones relacionadas