2009-08-27 40 views
9

Come impostare la tonalità di questo pulsante giallo come grigio? Ho provato ad aggiungere un'immagine, ma non ho avuto fortuna.Colore pulsante nella barra di navigazione - iPhone

Ecco lo screenshot:

alt text

Ecco il mio codice corrente:

- (id)initWithStyle:(UITableViewStyle)style { 
    if (self = [super initWithStyle:style]) { 

     UIBarButtonItem *addButton = [[UIBarButtonItem alloc] 
             initWithTitle:NSLocalizedString(@"Settings", @"") 
             style:UIBarButtonItemStyleDone 
             target:self 
             action:@selector(GoToSettings)]; 
     [addButton setImage:[[UIImage imageNamed:@"bg_table.png"] retain]]; 

     self.navigationItem.rightBarButtonItem = addButton; 
     self.navigationItem.hidesBackButton = TRUE; 
     self.view.backgroundColor = [UIColor blackColor]; 
    } 
    return self; 
} 

risposta

3

non è possibile senza l'immagine personalizzata.

+1

È possibile dargli un po 'di colore, ad esempio grigio? – Mladen

+1

addButton.tintColor = [UIColor grayColor]; – charliehorse55

1

In realtà è possibile senza utilizzare l'immagine per i pulsanti.

viewController.navigationController.navigationBar.tintColor = 
    [UIColor colorWithRed:0.16f green:0.36f blue:0.46 alpha:0.8]; 
+0

cambia il colore della barra di navigazione invece dei pulsanti. –

+0

-1 per quello che ha detto jim. –

+0

... ma è possibile impostare la tonalità del pulsante in questo modo, vedere: http://stackoverflow.com/questions/8220715/how-to-set-custom-uinavigationbarbutton-color –

4
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setBackgroundImage:[UIImage imageNamed:@"button_main.png"] 
             forState:UIControlStateNormal]; 
[button addTarget:self action:@selector(GotoSettings) 
       forControlEvents:UIControlEventTouchUpInside]; 
button.frame = CGRectMake(x, y, x1, x2); 

UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithCustomView:menu]; 
self.navigationItem.rightBarButtonItem = menuButton; 

[button release]; 
[menuButton release]; 
+0

ho usato questo e sta funzionando bene. – ArunGJ

+0

Funzionante, ma come impostare il titolo su un pulsante? –

12
self.navigationItem.rightBarButtonItem.tintColor = [UIColor colorWithRed:0.1f green:0.66f blue:0.26f alpha:0.7]; 
5

da iOS 5.0 e si può usare:

[[UINavigationBar appearance] setTintColor:[UIColor yellowColor]]; 
0

quando si imposta la tua immagine del pulsante nella barra di navigazione, si consiglia di impostare UIImageRenderingModeAlwaysOriginal per it:

[addButton setImage:[[[UIImage imageNamed:@"bg_table.png"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] retain]]; 

ecco lo reference.

Problemi correlati