5

Ho creato un nuovo progetto di test iOS5 in Xcode 4.2 Build 4D199 e ho provato a impostare l'aspetto dello UINavigationBar come descritto sopra, ma non succede nulla.iOS 5 [UinavigationBar aspetto] setBackgroundImage non funziona

Il codice ho provato nel viewDidLoad:

[[UINavigationBar appearance] setBackgroundImage:[UIImage imageNamed:@"navbar-iphone.png"] forBarMetrics:UIBarMetricsDefault]; 

L'unico modo in cui posso farlo funzionare è quello di impostare la comparsa sulla istanza del UINavigationBar. Mi piace:

[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"navbar-iphone.png"] forBarMetrics:UIBarMetricsDefault]; 

Cosa sta succedendo? Qualcun altro ha avuto questo problema?

+0

Hai già una soluzione? :) –

+0

ha avuto lo stesso problema, può impostare la tinta e tutto ... –

risposta

1

Hai ricontrollato se questo file immagine esiste?

+0

Questo è quello che era con me, il file immagine non esisteva. –

+0

Non ho fatto la domanda :) quindi non posso accettarlo –

+0

Touché! non l'ho visto;) – thedanielhanke

1

È necessario fornireBarMetrics: per farlo funzionare.

+0

che l'ha fatto .. – Tieme

+0

ma ... non l'ho fatto! –

18

viewDidLoad è il posto sbagliato da utilizzare con il proxy appearance della barra di navigazione di un controller di navigazione. Fai questo genere di cose prima ancora che il controller di navigazione sia stato creato. Nella tua app, il numero applicationDidFinishLaunching del delegato è un buon posto.

+2

Ho avuto problemi simili. Al primo push della barra di navigazione non sono state impostate le proprietà utilizzando il proxy dell'aspetto. Ma al successivo pop e push di nuovo ha ottenuto i suoi colori e le immagini. Sembra che questo oggetto "apparenza" non possa modificare gli oggetti già assegnati fino al loro secondo aspetto o così !! – NSIntegerMax

+0

Corretto, @AnImIsH - La mia ipotesi è che mentre qualcosa è visibile non verrà ridisegnato dal proxy dell'aspetto. – matt

+0

Ha inserito il mio codice in applicationDidFinishLaunching.Ma non capisco il motivo esatto o perché non è menzionato in Documentazione – user1010819