如何改变iOS 7的后退按钮颜色

时间:2013-10-09 16:18:26

标签: ios ios7 xcode5 back-button

我已经为iOS7开发了一款具有此设计的应用程序

enter image description here

正如你所看到的,我的所有BackButton都有一个蓝色箭头(使用UINavigationController和segues),我想把它们变成红色,这是我的代码:

[UIBarButtonItem   appearance]setTintColor:(UIColorFromRGB(toolbarTintColor))];
[[UIBarButtonItem  appearance]setTitleTextAttributes:textAtributesDictionaryNavBarButtons forState:UIControlStateNormal];

但结果仅适用于所有其他按钮,我会很感激的任何帮助

提前感谢支持

8 个答案:

答案 0 :(得分:35)

导航栏的色调属性决定了iOS 7中条形按钮项目文本的颜色。您要查找的代码如下:

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

当然,用你想要的任何颜色替换[UIColor redColor]

答案 1 :(得分:12)

将此代码放入App Delegate:

<强>目标C

[self.window setTintColor:[UIColor redColor]];

<强>夫特

self.window?.tintColor = UIColor.redColor()

答案 2 :(得分:10)

如果您不想更改整个应用中的色调颜色,只想在一个导航栏上执行此操作,请执行以下操作:

self.navigationController.navigationBar.tintColor = [UIColor redColor];

答案 3 :(得分:4)

如果你想要swift版本。

UINavigationBar.appearance().tintColor = UIColor.whiteColor()

此外,如果要将此样式应用于所有导航视图控制器。将该代码放在appDelegate中的应用程序didFinishLaunchingWithOptions方法

答案 4 :(得分:1)

夫特:

self.navigationController?.navigationBar.tintColor = UIColor.grayColor()

答案 5 :(得分:1)

  • 如果您正在使用故事板,那么您需要在类检查器窗格下为keyPath'tintColor添加用户定义的属性。
  • 因为在最新版本的Interface builder中删除了静态tintColor属性。 click '+', add tintColor in KeyPath, set the Type color and add your color.

答案 6 :(得分:1)

您可以直接在IB中设置它:

enter image description here

答案 7 :(得分:-2)

-(void)viewDidAppear:(BOOL)animated
{
   //set back button color
    [[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor], NSForegroundColorAttributeName,nil] forState:UIControlStateNormal];
    //set back button arrow color
    [self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
}