更改导航栏标题颜色和后退按钮标题颜色

时间:2009-11-05 10:19:56

标签: iphone objective-c uinavigationcontroller uinavigationbar uibarbuttonitem

我想更改UINavigationBar titleColor

我还想更改textColor UINavigationBar的{​​{1}}。

我正在使用iPhone Os sdk 3.1.2

5 个答案:

答案 0 :(得分:2)

这对我有用。

使用此功能,您可以更改所有导航按钮的颜色:

 [[UIBarButtonItem appearance] setTintColor:[UIColor redColor]];

用以下内容替换redColor以调整按钮的颜色:

colorWithRed:0/255.0 green:144/255.0 blue:200/255.0 alpha:1.0// pick your color using this

请务必将其放入推送的视图控制器中。不是您想要查看此后退按钮颜色的视图控制器。

答案 1 :(得分:1)

此问题的一部分has already been answered

然后,要更改后退按钮标题颜色,我建议创建一个带有标签的自定义按钮:

UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:yourViewWithColoredText];
navigationItem.leftBarButtonItem = buttonItem; // assign it as the left button

yourViewWithColoredText应该是包含彩色文字的自定义视图。 然后根据你的需要,你可以看起来像一个标准的后退按钮。

答案 2 :(得分:0)

您可以将在UINavigationBar.h中定义的titleView设置为:

 @property(nonatomic,retain) UIView *titleView;
// Custom view to use in lieu of a title. May be sized horizontally. Only used when item is topmost on the stack.

用你想要的任何颜色在那里弹出自己的UILabel。

答案 3 :(得分:0)

UIBarButtonItem *button = [[UIBarButtonItem alloc] init];
[button setTintColor:[UIColor redColor]];

答案 4 :(得分:0)

在iOS 5&上设置title UINavigationBar 6

[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObject:[UIColor blackColor] forKey:UITextAttributeTextColor]];

在iOS 7上

self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor blackColor]};


在所有textColor

上设置UIBarButtonItem
NSDictionary *attributes = [NSDictionary dictionaryWithObjectsAndKeys:
                                    [UIColor blackColor], UITextAttributeTextColor,
                                    [UIColor clearColor], UITextAttributeTextShadowColor, nil];

[[UIBarButtonItem appearance] setTitleTextAttributes:attributes forState: UIControlStateNormal];