ho usato per ignorare metodo drawRect e colore di riempimento; ma dopo l'aggiornamento di iOS7 provoca alcuni problemi su UINavigationBar. Se si scrive il proprio metodo drawrect, anche se si chiama [super drawRect], cambia la dimensione della barra e si finisce con una barra di navigazione con 44 pixel di altezza. La barra di stato è vuota.
Per ottenere un solido navigationBar di colore, ho usato un'immagine come immagine di sfondo (qualsiasi immagine colorata solida piccolo farà quanto si sta stretching) e ha aggiunto queste righe all'interno del metodo initWithFrame della sottoclasse UINavigationBar:
[self setBackgroundColor:[UIColor clearColor]]
[[UINavigationBar appearance] setBackgroundImage:[[UIImage imageNamed:@"bgimage.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(5, 5, 5, 5) resizingMode:UIImageResizingModeStretch] forBarMetrics:UIBarMetricsDefault];
fonte
2014-02-17 14:20:36
Grazie. Funziona come un fascino. Per impostare i colori dei pulsanti, ho cambiato il colore della tinta della barra di navigazione, e ottengono il colore della tinta. Proprio come mi aspettavo. – MartinHN
Sai se è possibile farlo tramite il proxy dell'aspetto? '[[UINavigationBar appearance] .....];' – MartinHN
Non lo so, io uso questo codice in un progetto con iOS 4.2 quando l'aspetto non era disponibile –