iPhone - Come set di colori personalizzati nella sezione “Ulteriori” barra di navigazione di voce?
-
27-09-2019 - |
Domanda
Buongiorno tutto
Questo è un piccolo dettaglio, ma lo fa influenzare la finitura professionale della mia app.
La mia app segue il modello di una barra delle schede con una barra di navigazione in ciascuna scheda con più di 5 schede, quindi, un "Altro" elemento. Ho una tinta personalizzata applicata alla barra di navigazione, ma non sono stato in grado di trovare un modo per accedere alla barra di navigazione della voce "More" per impostare la tinta su questo. Qualcuno può dirmi come?
Aggiornamento ...
Dopo la suggestione di una categoria a UINavigationBar
Ho usato questo codice ...
@implementation UINavigationBar (UINavigationBar_Additions)
- (void)drawRect:(CGRect)rect {
UIColor *color = [UIColor colorWithRed:0.862745098039216
green:0.568627450980392
blue:0.098039215686275
alpha:1];
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColor(context, CGColorGetComponents( [color CGColor]));
CGContextFillRect(context, rect);
[self setBarStyle:UIBarStyleBlack];
[self setTintColor:color];
}
@end
A parte gli avvisi di Apple (per ragioni che sembrano avere un senso per me) circa non sovrascrivendo i metodi nascosti in questo modo perde anche il gradiente sulla UINavigationBar
& preferirei mantenere ciò che il mio approccio attuale di impostare la tinta in viewDidLoad
lo fa.
eventuali suggerimenti riguardo a come posso avere la mia torta e la moglie ubriaca.
TIA, Pedro:)
Soluzione
E 'stato coperto prima su StackOverflow , che punti a questo blog , ma la risposta è di fare quanto segue:
tabBarController.moreNavigationController.navigationBar.tintColor =
[UIColor orangeColor];
Altri suggerimenti
Aggiungi una categoria per UINavigationBar e override -drawRect :? (Si può poi fare cose divertenti come quella di disegnare un'immagine invece ...)