2

Auf dem iPhone und dem iPad muss ich zwei Tasten auf der rechten Seite einer Navigationsleiste präsentieren. Ich tue dies mit dem folgenden Code-Snippet:Ändern der Farben eines UIToolbar + es ist Schaltflächen, wenn in einem Popover-Controller auf dem ipad

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]; 

Auf dem iPhone der Farben sind in Ordnung, und im Querformat auf dem iPad ist es in Ordnung, wenn sie grau sind. Im Hochformat erscheint die Ansicht jedoch innerhalb eines Popover-Controllers, der eine dunkelschwarze/blaue Farbe hat. Meine Schaltflächen und die Symbolleiste werden standardmäßig grau angezeigt.

Wie kann ich die Symbolleistenschaltflächen übereinstimmen? Wenn Sie den obigen Hack nicht benutzen und nur eine Taste als normal präsentieren, wird die Farbänderung gehandhabt und ich denke, ich muss diese Farbänderung nur manuell implementieren, das Problem ist, dass ich die Farbe gar nicht ändern kann.

Antwort

0

Dies scheint eine Eigenschaft namens barStyle und nicht tintColor zu sein, wie ich zuvor dachte. Die einfachste Lösung ist der Bar-Stil von anderswo zu kopieren:

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

Es ist dann ziemlich trivial den Stil bleibt richtig, wie die Ansicht, die Änderungen zu gewährleisten. Obwohl ich sagen muss, dass ich die dunkelblauen schwarzen Knöpfe über der silbernen Navigationsleiste, die nach der Drehung gab, recht mochte.