4 Stimmen

Text und Textfarbe der Zurück-Schaltfläche eines Navigationselements können nicht geändert werden

Ich versuche, die Backbutton-Textfarbe (auf rot) meiner Navbar mit dem folgenden Code einzustellen. (HINWEIS: Der nachstehende Code befindet sich bereits im "vorherigen" View-Controller, in diesem Fall im "Popular"-View-Controller:

//Customize Back button
UIView *backButtonView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 30, 40)];
UILabel *backButtonLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 30, 40)];
backButtonLabel.text = @"back";
backButtonLabel.textColor = [UIColor colorWithHexString:@"cf212a"];
[backButtonView addSubview:backButtonLabel];

UIBarButtonItem *backButton = [[UIBarButtonItem alloc]initWithCustomView:backButtonView];
self.navigationItem.backBarButtonItem = backButton;

Ich erhalte jedoch nicht den gewünschten Effekt. Ich erhalte immer noch den Standardtext in weißer Farbe in der Hintergrundschaltfläche. Der Text wird auch nicht in "Zurück" geändert

enter image description here

Wie kann ich das Problem lösen?

0voto

demosten Punkte 3191

Das Problem ist, dass Sie keine gute Möglichkeit haben, die Schriftart und die Farben der Schaltfläche "Zurück" auf globaler Ebene festzulegen. Das ist in der aktuellen iOS 5. Dafür verwende ich typeoneerror's https://github.com/typeoneerror/BBCustomBackButtonViewController hier erwähnt.

Es gibt jedoch eine gute Möglichkeit, den Text und die Farbe der Schaltflächen der Navigationsleiste auf globaler Ebene einzustellen, ohne das Aussehen der anderen Schaltflächen und Menüs zu zerstören. Ich bin mit Code wie:

[[UIButton appearanceWhenContainedIn:[UINavigationBar class], nil] setTitleColor:[UIColor colorWithRed:102.0f/255.0f green:102.0f/255.0f blue:102.0f/255.0f alpha:1.0f] forState:UIControlStateNormal];
[[UIButton appearanceWhenContainedIn:[UINavigationBar class], nil] setTitleShadowColor:[UIColor colorWithWhite:1.0 alpha:0.75] forState:UIControlStateNormal];
[[[UIButton appearanceWhenContainedIn:[UINavigationBar class], nil] titleLabel] setShadowOffset:CGSizeMake(1.0, 1.0)];

In einem meiner Projekte. Ich rufe es von - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

0voto

Bhavesh Nayi Punkte 3598
self.navigationItem.backBarButtonItem.tintColor = [UIColor blackColor];

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X