2011-02-16 13 views
6

Ciao a tutti:
Ho impostato uno sfondo personalizzato per la mia barra di navigazione, è un colore tinta che penso di aver scelto da IB. Ora voglio cambiare lo sfondo del mio uitoolbar (aggiunto a livello di codice) simile alla mia barra di navigazione, a livello di programmazione. Obbligato per qualsiasi aiuto in questo senso.come impostare lo sfondo di uitoolbar in modo simile alla mia barra di navigazione

Scusate ragazzi, il mio male è in realtà la barra degli strumenti del controller di navigazione. quindi questo ha funzionato per me:
self.navigationController.toolbar.tintColor=self.navigationController.navigationBar.tintColor;

Grazie tutti di u ragazzi per la risposta rapida soprattutto @phooze che mi mise nella giusta direzione :)

risposta

11

UIToolbar ha anche una proprietà tintColor, proprio come un UINavigationBar. Si dovrebbe essere in grado di impostare l'uno all'altro:

myToolbar.tintColor = myNavBar.tintColor; 

dopo aver creato la toolbar. Tieni presente che questo codice funzionerebbe solo se myNavBar fosse stato caricato dalla NIB, quindi sarebbe meglio inserirlo in viewWillAppear: o viewDidLoad.

È possibile accedere a UINavigationBar dalla proprietà navigationBar di UINavigationController (probabilmente s elf.parentViewController nel proprio caso).

+0

Ho già provato questo phooze .. non funziona nel mio caso. Sto facendo questo nel mio viewWillAppear: self.toolbar.tintColor = self.navigationController.navigationBar.tintColor; – Tobias

+0

Puoi confermare a quel punto nel codice che entrambi gli elementi sono non nulli? – makdad

2

Non c'è modo di confrontare i colori della barra di navigazione e barra degli strumenti, ma è possibile impostare il colore della barra degli strumenti con il seguente codice

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

Hai ragione che non è possibile confrontare i colori per quanto ne so, ma puoi passare attorno agli oggetti UIColor se ne hai già uno (vedi la mia risposta sopra). – makdad

0

Se si desidera che il colore nero predefinito per barra degli strumenti di quello che è possibile utilizzare

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

Utilizzare solo il seguente codice per quello.It sta lavorando ..

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

0

Ho usato il seguente setBarTintColor che ha funzionato per me mentre setTintColor non ha funzionato.

Problemi correlati