2014-10-13 6 views

Antwort

15

Erstellen Sie eine UIButton und verwenden Sie sie als benutzerdefinierte Ansicht für die UIBarButtonItem. Dann stellen Sie die backgroundColor auf der Ebene des Taste:

UIButton* button = [UIButton buttonWithType:UIButtonTypeCustom]; 
[button setTitle:@"Test"]; 
button.layer.backgroundColor = [UIColor redColor].CGColor; 
button.layer.cornerRadius = 4.0; 

UIBarButtonItem* buttonItem = [[UIBarButtonItem alloc] initWithCustomView:button]; 
self.toolbarItems = @[buttonItem]; 
+7

Sie müssen auch die Größe der Taste eingestellt helfen tun, sonst funktioniert es nicht in iOS erscheinen 7+, [Taste SetFrame : CGRectMake (0, 0, 80, 20)]; –

+0

Oder Sie können eine eigene Größe festlegen: [button sizeToFit]; – torinpitchers

+0

Weiß jemand, warum dies nicht für UINavigation UIBarButtonItems funktioniert? – Rafthecalf

1

Sie könnten stattdessen nur zwei Bilder verwenden. Eine für ausgewählte und eine für nicht ausgewählte

- (void)setBackgroundImage:(UIImage *)backgroundImage forState:(UIControlState)state barMetrics:(UIBarMetrics)barMetrics 

Die obige Funktion sollten Sie diese

+0

Es ist in iOS 5.0 und höher für UIBarButtonItem verfügbar und scheint die einzige aktuelle Lösung zu sein (iOS 9.0) – EckhardN

Verwandte Themen