2010-12-23 9 views
2

habe ich eine benutzerdefinierte Navigationsleiste und eine rechte Navigationstaste die XIB verwenden. Das funktioniert gut. Aber ich muss die Tönungsfarbe der rechten Navigationsschaltfläche anpassen. Im Moment hat diese Tönungsfarbe die gleiche Farbe wie die Tönungsfarbe der Navigationsleiste. Ich brauche eine andere Farbe für diese rechte Taste. Gibt es eine Möglichkeit, diese Farbe zu ändern?Einstellung Bar Button-Einzelteilfarbe in einer benutzerdefinierten Navigationsleiste

Vielen Dank.

Antwort

5

Mein Wissen nicht erbt die Schaltfläche mit dem dem Farbton des navigationbar. Was Sie tun können, ist ein Custom für die navigationItem gesetzt:

Dies ist, wie Sie es einrichten mit einem der SDK-Tasten:

UIBarButtonItem *shareButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(shareButtonHandler:)]; 

[self.navigationItem setRightBarButtonItem:shareButton]; 
[shareButton release]; 

Stattdessen Sie es wie folgt tun:

UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"yourImage.png" style:UIBarButtonItemStyleBordered target:self action:@selector(customButtonHandler:)]]; 

Um ein Bild zu verwenden, das Sie in Photoshop usw. gemacht haben.

Es gibt auch eine initWithCustomView:UIView oder initWithTitle:NSString, die Sie verwenden können.

Leider keine "one-line-Lösung" :)

+0

Ja, das ist die nächste Antwort. Keine andere Möglichkeit, dies tatsächlich zu tun. Danke RickiG. – Dilshan

15

In iOS 5 ist 'Erscheinung' Feature:

[[UIBarButtonItem appearance] setTintColor:YOUR_COLOR];

+0

Ja, das ist ein sehr alter Thread. Im alten Betriebssystem war es nicht so einfach. – Dilshan

1

Swift 3.x

UIBarButtonItem.appearance().setTitleTextAttributes([NSForegroundColorAttributeName : Color.primaryActionColor], for: .normal) 
+0

Das Problem hier ist, dass jedes UIBarButtonItem diese Farbe haben wird. Um dies zu vermeiden, können Sie Folgendes tun: UIBarButtonItem.Appearance (whenContainedInInstancesOf: [UIToolbar.self]). SetTitleTextAttributes (...) – Reyske

Verwandte Themen