Domanda

Sia l'iPhone e l'iPad ho un bisogno di presentare due pulsanti sul lato destro di una barra di navigazione. Sto facendo questo con il seguente frammento di codice:

UIToolbar *rightBarButtons = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 92, 44.01)];
UIBarButtonItem *send = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction 
                                                                      target:self 
                                                                      action:@selector(send)];
[send setStyle:UIBarButtonItemStyleBordered];
UIBarButtonItem *add =  [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd 
                                                                      target:self
                                                                      action:@selector(addRecipe:)];
[add setStyle:UIBarButtonItemStyleBordered];
NSArray *buttons = [[NSArray alloc] initWithObjects:send,add,nil];
[send release];
[add release];
[rightBarButtons setItems:buttons];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:rightBarButtons];
[buttons release];
[rightBarButtons release];

Su iPhone i colori vanno bene, e in modalità orizzontale sul iPad è bene così come sono grigi. Tuttavia in modalità verticale vista appare all'interno di un controller popover che ha un nero scuro / colore blu. I miei pulsanti e la barra degli strumenti mostrano come il grigio di default.

Come posso fare i pulsanti della barra degli strumenti corrispondono? Se non si utilizza l'hack di cui sopra e solo presente un pulsante di come normale viene gestito il cambiamento di colore e credo ho solo bisogno di implementare manualmente che il cambiamento di colore, problema è che non riesco a ottenere il colore al cambiamento.

È stato utile?

Soluzione

Questa sembrerebbe essere una proprietà chiamata barStyle e non tintColor come ho già pensato. La soluzione più semplice è quella di copiare lo stile bar da altrove:

[rightBarButtons setBarStyle:self.navigationController.navigationBar.barStyle];

E 'quindi abbastanza banale per garantire i resti stile corretto come la vista cambia. Anche se devo dire che mi piaceva molto il blu scuro pulsanti neri sopra la barra di navigazione d'argento che ha dato dopo la rotazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top